-
Notifications
You must be signed in to change notification settings - Fork 33
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
ComplexConv2D with bias vector slows down training a lot #34
Comments
Hello @osannolik, and thank you for the bug report. This is an interesting insight. I was not expecting this to happen. Due to the holidays, I won't sit with this right now. I might fix it in January, If you want, I invite you to also do a pull request if you need it ASAP. |
It would be nice to have it fixed as it is a pretty good optimization that would benefit more or less all users of ComplexConv2D. Not sure if I have the time to fix it myself in the near future unfortunately. |
Any updates on this? I recently started using ComplexConv2D and saw my training time slow down by a factor of 3~4. I haven't tried enabling or disabling the bias specifically, but I can give that a try to see if that is the cause. |
Are you using batch norm? That is the main speed issue with my library. |
No, I'm not using any batch norm or layer norm at all! |
Unfortunately, I now work a full time engineer and no longer have time to keep developing/upgrading this library. I am sorry for those users but I don't think this feature is coming in the near future. |
I've been told that dividing by just the norm of the complex value would be good enough and it's quite fast to compute. I will leave it as an option in this issue. |
If use_bias is set to True with ComplexConv2D (i.e. the default) the required time to train will be 2-3 times longer than if no bias is used. With keras real-valued Conv2D the difference due to bias is basically none.
Is that to be expected?
I observed that cpu-usage is a bit higher when enabling bias, but allocated gpu-memory is the same for both cases.
See below for a simple example.
The text was updated successfully, but these errors were encountered: