yolov5输出结果保留四位有效数字


Epoch   gpu_mem       box       obj       cls    labels  img_size
    47/199     4.59G   0.04156    0.0325  0.003358        88       640: 100%|██████████| 32/32 [00:06<00:00,  5.27it/s]                                                           
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100%|██████████| 4/4 [00:00<00:00,  5.55it/s]                                             
                 all        128        590      0.897      0.812      0.869      0.438

我用的是yolov5的6.0版本,每次跑的P R mAP值等都只有三位有效数字,怎么改文档才能保留四位有效数字?(比如:P值从0.897变为0.8971)

将val.py中的

pf = '%20s' + '%11i' * 2 + '%11.3g' * 4  # print format

改为

pf = '%20s' + '%11i' * 2 + '%11.4g' * 4  # print format

望采纳!!点击该回答右侧的“采纳”按钮即可采纳!!

在YOLOv5的"train.py"文件中,可以找到输出P、R、mAP值的代码。这些值都是浮点数,因此可以使用Python的格式化字符串来保留4位小数。

例如可以使用"%.4f"来保留4位小数:

x = 0.897
print("%.4f" % x)  # Output: 0.8970

如果想要在YOLOv5的"train.py"文件中保留4位小数,可以找到输出这些值的代码,然后使用"%.4f"格式化字符串来输出浮点数。

注意上述方法只适用于Python 3.6及更高版本。如果使用的是较旧版本的Python,可以使用"{:.4f}".format()来保留4位小数。

另外也可以使用"round()"函数或者"format()"函数来保留4位小数,或者使用Python的"decimal"模块来保留4位小数。可以根据自己的需要选择一种方法。
仅供参考,望采纳,谢谢。

可参考这个实例,链接:https://www.jb51.net/article/262202.htm
【yolov5中train.py代码注释详解与使用教程】,讲解详细,注解清晰