Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

loss计算太慢 #368

Open
ZGJY95 opened this issue Jun 20, 2023 · 7 comments
Open

loss计算太慢 #368

ZGJY95 opened this issue Jun 20, 2023 · 7 comments

Comments

@ZGJY95
Copy link

ZGJY95 commented Jun 20, 2023

训练用的COCO数据集,设置的batchsize是96,用的unfreeze training,开启fp16,单GPU。
训练的时候大概5s左右一个batch,但是loss运算就需要4s左右。CPU只用了大概30%。
image

有什么办法可以优化一下吗?

@ZGJY95
Copy link
Author

ZGJY95 commented Jun 22, 2023

我还想问下,get_target里是计算了9个anchor 和真实框的iou, 然后取最大。 为什么不是只计算当前特征图的三个anchor然后取最大?计算9个的话,y_true里少了bbox,会影响iou loss的吧?
非常感谢!
image

@bubbliiiing
Copy link
Owner

训练用的COCO数据集,设置的batchsize是96,用的unfreeze training,开启fp16,单GPU。 训练的时候大概5s左右一个batch,但是loss运算就需要4s左右。CPU只用了大概30%。 image

有什么办法可以优化一下吗?

额……你是怎么知道loss的时间的,loss已经都在gpu上了

@bubbliiiing
Copy link
Owner

我还想问下,get_target里是计算了9个anchor 和真实框的iou, 然后取最大。 为什么不是只计算当前特征图的三个anchor然后取最大?计算9个的话,y_true里少了bbox,会影响iou loss的吧? 非常感谢! image

还要确定哪个特征图呀

@ZGJY95
Copy link
Author

ZGJY95 commented Jun 24, 2023

训练用的COCO数据集,设置的batchsize是96,用的unfreeze training,开启fp16,单GPU。 训练的时候大概5s左右一个batch,但是loss运算就需要4s左右。CPU只用了大概30%。 image
有什么办法可以优化一下吗?

额……你是怎么知道loss的时间的,loss已经都在gpu上了

直接在outputs = model_train(images)前后加t = time.time(),算了个差值放在进度条里了

@ZGJY95
Copy link
Author

ZGJY95 commented Jun 24, 2023

我还想问下,get_target里是计算了9个anchor 和真实框的iou, 然后取最大。 为什么不是只计算当前特征图的三个anchor然后取最大?计算9个的话,y_true里少了bbox,会影响iou loss的吧? 非常感谢! image

还要确定哪个特征图呀

特征图不是用输入的l确定的嘛?
image

@bubbliiiing
Copy link
Owner

这个l指的是现在在算第几个特征层
但是我们没法知道真实框匹配的是哪个特征层,所以需要把真实框与三个特征层计算,先判断真实框属于哪个特征层
因为这里对bs循环了,所以比较慢,你可以看看我的yolov5的代码,匹配的过程发生在data加载

@ZGJY95
Copy link
Author

ZGJY95 commented Jun 28, 2023

这个l指的是现在在算第几个特征层 但是我们没法知道真实框匹配的是哪个特征层,所以需要把真实框与三个特征层计算,先判断真实框属于哪个特征层 因为这里对bs循环了,所以比较慢,你可以看看我的yolov5的代码,匹配的过程发生在data加载

懂了!非常感谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants