你好,再次stackoverflow!我非常感谢这个社区和有用的反馈。
我还有其他一些问题,希望有人可以帮助我。我正在使用https://github.com/eriklindernoren/PyTorch-YOLOv3
的PyTorch-YOLOv3的实现我已经能够训练模型,但是现在我想生成训练/验证曲线。在训练期间,我获得了每个时期的指标,如下所示:
Epoch 1/3001 batch 0/8 Epoch 1/3001 batch 7/8
我正在尝试通过将这些指标记录到外部.csv文件并绘制这些值来生成指标(损耗,召回率,精度,准确性,mAP)与时期的关系图。
问题1 :有使用过YOLOv3的经验的人知道相关信息在哪里吗?我知道每个纪元的AP和mAP位于第二个图像的底部(纪元1/3001,批处理7/8)。我不确定在哪里可以找到相关的损耗,召回率和精度指标。
问题2 :有人知道YOLO第0层和第1层之间的区别吗?会分别绘制这些层中的度量标准来产生训练曲线和验证曲线吗?
问题3 :从两到三个月前,我开始收到以下警告,而不是获得纪元输出。
/pytorch/aten/src/ATen/native/IndexingUtils.h:20:用户警告:现在不建议使用dtype torch.uint8进行索引,请改用dtype torch.bool。 >
这不会影响培训,但是我想更新代码,以便此警告消失。有什么建议吗?
谢谢大家。
答案 0 :(得分:1)
问题中提到了解决方案。确切的链接是:https://github.com/eriklindernoren/PyTorch-YOLOv3/issues/283
替换为utils:269
ByteTensor = torch.cuda.ByteTensor(如果pred_boxes.is_cuda则为torch.ByteTensor
)使用: BoolTensor = torch.cuda.BoolTensor,如果pred_boxes.is_cuda则为torch.BoolTensor
第278、279行的用法 obj_mask = BoolTensor(nB,nA,nG,nG).fill_(0) noobj_mask = BoolTensor(nB,nA,nG,nG).fill_(1)