-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Faster reference implementation for operator Conv based on im2col #5069
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
Conversation
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Co-authored-by: Justin Chu <justinchuby@users.noreply.github.com> Signed-off-by: Xavier Dupré <xadupre@users.noreply.github.com>
A general idea (applies to both Shall we adopt some naming convention for the methods in the classes that implement the ops to support this? So, for example, your naive implementation of im2col can go back into the main class (instead of being in the testing code). We just use an appropriate suffix to distinguish the two implementations. Eg., may be add |
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
Signed-off-by: xadupre <xadupre@microsoft.com>
…nx#5069) Signed-off-by: xadupre <xadupre@microsoft.com> Signed-off-by: Xavier Dupré <xadupre@users.noreply.github.com> Co-authored-by: Justin Chu <justinchuby@users.noreply.github.com> Signed-off-by: Aditya Goel <agoel4512@gmail.com>
Description
Current implementation of Operator Conv is very slow. This is a faster one based on im2col.
Measures with shape(X)=(1, 1, 64, 64), shape(kernel)=(3, 3), before time is 0.0033s, after time is 0.00075, > 4 times faster. This ratio is higher with bigger matrices.
Motivation and Context
Performance.