Open ZGJY95 opened 1 year ago
我还想问下,get_target里是计算了9个anchor 和真实框的iou, 然后取最大。 为什么不是只计算当前特征图的三个anchor然后取最大?计算9个的话,y_true里少了bbox,会影响iou loss的吧?
非常感谢!
训练用的COCO数据集,设置的batchsize是96,用的unfreeze training,开启fp16,单GPU。 训练的时候大概5s左右一个batch,但是loss运算就需要4s左右。CPU只用了大概30%。
有什么办法可以优化一下吗?
额……你是怎么知道loss的时间的,loss已经都在gpu上了
我还想问下,get_target里是计算了9个anchor 和真实框的iou, 然后取最大。 为什么不是只计算当前特征图的三个anchor然后取最大?计算9个的话,y_true里少了bbox,会影响iou loss的吧? 非常感谢!
还要确定哪个特征图呀
训练用的COCO数据集,设置的batchsize是96,用的unfreeze training,开启fp16,单GPU。 训练的时候大概5s左右一个batch,但是loss运算就需要4s左右。CPU只用了大概30%。
有什么办法可以优化一下吗?
额……你是怎么知道loss的时间的,loss已经都在gpu上了
直接在outputs = model_train(images)前后加t = time.time(),算了个差值放在进度条里了
我还想问下,get_target里是计算了9个anchor 和真实框的iou, 然后取最大。 为什么不是只计算当前特征图的三个anchor然后取最大?计算9个的话,y_true里少了bbox,会影响iou loss的吧? 非常感谢!
还要确定哪个特征图呀
特征图不是用输入的l确定的嘛?
这个l指的是现在在算第几个特征层 但是我们没法知道真实框匹配的是哪个特征层,所以需要把真实框与三个特征层计算,先判断真实框属于哪个特征层 因为这里对bs循环了,所以比较慢,你可以看看我的yolov5的代码,匹配的过程发生在data加载
这个l指的是现在在算第几个特征层 但是我们没法知道真实框匹配的是哪个特征层,所以需要把真实框与三个特征层计算,先判断真实框属于哪个特征层 因为这里对bs循环了,所以比较慢,你可以看看我的yolov5的代码,匹配的过程发生在data加载
懂了!非常感谢!
训练用的COCO数据集,设置的batchsize是96,用的unfreeze training,开启fp16,单GPU。 训练的时候大概5s左右一个batch,但是loss运算就需要4s左右。CPU只用了大概30%。![image](https://github.com/bubbliiiing/yolov4-pytorch/assets/112176190/eae918d9-ee2e-4e9a-bbd2-098f3a4ab022)
有什么办法可以优化一下吗?