-
Notifications
You must be signed in to change notification settings - Fork 4
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
use for yolo #23
Comments
As mentioned in Sec. 3.4 of the paper, after rotating 1 x 1 convolution is the same as before. So we do not rotate 1 x 1 conv. |
Okay, thanks, is it normal for it to run very slowly? It feels several times slower than normal convolution |
I think it depends on your hardware device and software version. We have test our model on RTX 3090 with torch.compile, ARC-ResNet50 have almost the same inference speed as ResNet50. I guess the inference speed would be slower on memory-bounded devices because ARC module will have more memory access compared with standard conv. |
I'm using A100, which should be enough memory, but when I replace the convolution in yolo with ARC, it's three times slower, for some reason |
which yolo model do you use? how do you apply arc module in your model? do you use accelerator like triton or tensorrt? |
I'm using yolov8 and I'm simply replacing the 3*3 convolution with ARC like this: YOLOv8.0n backbonebackbone: [from, repeats, module, args]
|
Module: ultralytics.nn.modules.conv.Conv, Time: 0.009410 seconds Module: ultralytics.nn.arc.adaptive_rotated_conv.AdaptiveRotatedConv2d, Time: 0.062141 seconds Here are my latest test results on yolo11, I output the running time of each module, the top is the original module, the bottom is the module that replaced ARC, my experiment was done on the A100, but its speed is several times different, what is the reason for this? |
After debugging, I found that this code is more time-consuming, and the operation of generating the rotation matrix and adding the rotation angle to the weights is much more time-consuming than the convolution itself, please ask if there is a problem with my usage method, or is there any better way to speed up my training |
Hello, thank you for your work, can ARC replace 11 convolution? It seems that only 33 convolutions can be replaced, and in addition, it seems to be particularly slow, is this normal? This is the issue I had when I tried to replace normal convolutions with ARC in yolo
The text was updated successfully, but these errors were encountered: