❗❗❗ 兄弟姐妹们,如果看习惯了运行train.py
时打印0.551
这种的不超过1的小数点值
,一定要把以下操作全部还原哟!
❗❗❗ 不然就会像我一样,当看到打印台那一行行的P、R、mAP50、mAP50-95
的超过1的值
,心慌的不得了!错以为是自己数据集的问题,毁我心情,耽误我好几天不跑代码!
❗❗❗ 不过它只是影响的打印台中的显示值,不影响tensorboard中画曲线的值
哈,也不影响result.txt
中的值!
在val.py
中按住Ctrl+F
检索定位到262行的Print results
处,如下做更改:
- 修改记录:按下快捷键
Ctrl+F
搜索定位到Print results per class
处,然后在p[i]
、r[i]
、ap50[i]
、ap[i]
后面都乘上了100
,以此来实现对于每个单类
也能打印出保留小数点后两位的数据
# ---------lwd edit---------- #
pf = '%20s' + '%11i' * 2 + '%11.2f' * 4 # print format
LOGGER.info(pf % ('all', seen, nt.sum(), mp * 100, mr * 100, map50 * 100, map * 100))
# --------------------------- #
# Print results per class
if (verbose or (nc < 50 and not training)) and nc > 1 and len(stats):
for i, c in enumerate(ap_class):
LOGGER.info(pf % (names[c], seen, nt[c], p[i] * 100, r[i] * 100, ap50[i] * 100, ap[i] * 100))
最后一行打印出了FPS,可以参考博客:yolov5-计算fps(新加入:4. 记录运行B导yolov7-tiny后计算fps的方法)