Closed sdreamforchen closed 6 months ago
麻烦大佬帮忙看看。是不是代码哪里修改不对
初步看 bbox_dist的reshape方式可能有问题。如果不用dfl,最简单的方法就是dfl loss权重设置0。改的对不对验证的方法是,固定同样输入tensor,和dfl loss权重设置0的时候去对比输出看diff
利用周末的时间,训练了80epoch原版的v8. 精度依然为0. https://github.com/PaddlePaddle/PaddleYOLO/blob/28cb6dedabe40c64c9aef7e871a30331d00f934c/ppdet/utils/stats.py#L77 再次确认了除了上述此行改为v.update(np.array(stats[k].numpy(),dtype=np.float64)),其他都没变。 改此行是因为在修改DFL过程中报错了numpy float64的问题. 我正在重新训练测试。 请问大佬是否是因为此行的问题?
初步看 bbox_dist的reshape方式可能有问题。如果不用dfl,最简单的方法就是dfl loss权重设置0。改的对不对验证的方法是,固定同样输入tensor,和dfl loss权重设置0的时候去对比输出看diff
报错是:AttributeError: 'float' object has no attribute 'numpy'
初步看 bbox_dist的reshape方式可能有问题。如果不用dfl,最简单的方法就是dfl loss权重设置0。改的对不对验证的方法是,固定同样输入tensor,和dfl loss权重设置0的时候去对比输出看diff
感觉应该是源码问题。 完完全全重头来一次,也精度为0
无预训练权重
v.update(stats[k].numpy()) 改为 v.update(float(stats[k])) 试试
大佬,我采用paddledetection的ppyoloe,去除掉dfl,报错如下,很相似 File "/home/chenailin/Code/PaddleDetection/ppdet/engine/trainer.py", line 590, in train self.status['training_staus'].update(outputs) File "/home/chenailin/Code/PaddleDetection/ppdet/utils/stats.py", line 77, in update v.update(stats[k].numpy()) AttributeError: 'int' object has no attribute 'numpy'
初步看 bbox_dist的reshape方式可能有问题。如果不用dfl,最简单的方法就是dfl loss权重设置0。改的对不对验证的方法是,固定同样输入tensor,和dfl loss权重设置0的时候去对比输出看diff
我直接去除掉numpy,看了一个epoch的loss,感觉还行。下午跑几下试试。
大佬。用ppyoloe有段时间了,所以有点忘记了当时的情况,但对v8的训练速度总感觉有点疑惑,今天验证ppyoloe,总结如下: 1 ppyoloe与v8相似模型大小情况下,ppyoloe速度更快; 2 多gpu情况下,ppyoloe可以体现加速,v8几乎没有加速。
v8用了mosaic速度会慢,ppyoloe没有用到。
大佬。ppyoloe还是成熟点哦。去掉v.update(stats[k].numpy())的numpy,对准了一下网络输出的shape,就可以正常训练咯。 10个epoch,无预训练精度是有的。 Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.014 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.034 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.010 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.002 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.012 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.026 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.057 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.115 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.129 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.022 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.083 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.227 [07/10 17:27:06] ppdet.engine INFO: Total sample number: 5000, average FPS: 6.202847484439517
问题确认 Search before asking
需求描述 Feature Description
log数据如下: [07/07 10:14:31] ppdet.engine INFO: Epoch: [19] [896/917] eta: 8 days, 3:35:41 lr: 0.009460 loss: 314.036316 loss_cls: 284.463470 loss_iou: 30.124084 loss_dfl: 0.000000 loss_l1: 24.003032 batch_cost: 2.7724 data_cost: 1.2405 ips: 46.1695 images/s Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.000 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.000 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.000 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.000 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.000 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.008 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.008 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.008 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.000 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.000 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.016 [07/07 10:18:26] ppdet.engine INFO: Total sample number: 4952, average FPS: 42.027907432147764
是否愿意提交PR Are you willing to submit a PR?