此次將圖片的測試完成,仍舊是讀取的ffmpeg分割後的圖。
DataLoader讓我很失望,想到了某個熱播網劇【太子,你太讓朕失望了】。
我分明是測試的7個視頻的圖,結果給我出來8個
print(cls_acc)
[ 1. 1. 1. 1. nan 1. 1. 0.]
完全是一臉懵逼的狀態,不知道哪裏又出幺蛾子。
>>> video_labels
[140, 127, 173, 99, 166, 126, 151]
>>> video_pred
[140, 127, 150, 99, 166, 126, 151]
經排查發現是混淆矩陣出錯,具體原因是:我這7個視頻的標籤與預測出來的標籤其中有一個不同,既然沒有給出全部標籤,那麼按照默認,則會認定總的標籤數爲8個,結果也就出現了cm矩陣是(8,8)的情況,詳見我之前的博文:手寫混淆矩陣
事無鉅細,事必躬親,身體力行,看來還是有點好處的
原程序cm如下:
>>> cf
array([[1., 0., 0., 0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0., 0., 0., 0.],
[0., 0., 1., 0., 0., 0., 0., 0.],
[0., 0., 0., 1., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1., 0., 0., 0.]])
經過寡人修改後的:注意其中有個順序不同是因爲總的標籤順序不同,這一點不必糾結,可見我上面提及的博文。
array([[1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 1]], dtype=int64)
另外補充:如果電腦端沒有gpu,即沒有cuda,則安裝的torch不能用net.cuda()
如果Dataloader再出毛病,請將裏面的參數workers去掉,鎖頁內存參數也去掉。
拜拜。
輕輕笑聲 在爲我送溫暖
你爲我注入快樂強電
輕輕說聲 漫長路快要走過
終於走過明媚晴天
聲聲歡呼躍起 像紅日發放金箭
我伴你往日笑面重現
輕輕叫聲 共擡望眼看高空
終於青天優美爲你獻
請來看看我吧。Please Do not Keep me Waiting.
另外有相關問題可以加入QQ羣討論,不設微信羣
QQ羣:868373192
語音圖像深度-學習羣
或者發我郵箱: