TSM视频测试——中间篇
程序员文章站
2024-01-16 19:19:52
...
此次将图片的测试完成,仍旧是读取的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
语音图像深度-学习群
或者发我邮箱:
下一篇: php全角字符转换为半角函数
推荐阅读