Python的enumerate()的坑

其實enumerate()函數本身沒啥問題,通常使用方法如下:

然而我踩的坑是這樣的,最近項目中使用TensorFlow,生成TFRecord數據集,訓練完成後在測試集上測試,發現預期能分的好的類別分的不好,而預期分的糟糕的類別竟然precision很高。可是對於label對應我還是非常堅定的認爲不會出錯。

最終,還是好好檢查了一下生成數據集的代碼,沒想到測試下面的代碼時,竟然結果出乎意料:

竟然不是按順序輸出的!

我立刻發現,classes用的是set類型,而不是通常的list。如下圖,list肯定是按順序輸出的:

好在找到了原因,這裏記錄一下,以後別再出錯了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章