-
Notifications
You must be signed in to change notification settings - Fork 10
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
Incorrect output from conv2d deep kernel function #4
Comments
From @astewart-xmos I'm realizing now that I'm not sure I understand the parameters listed in that ticket. It says the width (presumably the input width?) is 7. The kernel width is 7, the left padding is 1, and the horizontal stride is 2. Same with the output height. height = 8, K_h = 9, pad_t = 0 ---> These suggest that for the first output pixel, the bottom row of the convolution window will be in the padding below the input image. But then, pad_b = 2 and vertical stride = 2. If the output height is 1 pixel, then the second row of padding on the bottom is unnecessary (i.e. pad_b should be 1). If the output height is 2 pixels, then then for the second row of output pixels, the bottom row of the convolution window is below the padding ( i.e. pad_b should be 3) |
…tail_deep_padded(). The assembly implementations of those two functions misbehaved under certain conditions. In particular, the conditions seem to be that the input image has no input channel tail (channel count is multiple of 32), and there are multiple non-padding columns within the convolution window. It seems likely that there are additional conditions that would need to have been met, because otherwise I expect this would have manifested sooner.
The following integration test config produces incorrect output values for the 2nd output channel group.
NOTE: This test passes when running on the x86 host.
Predicted and expected output values:
The text was updated successfully, but these errors were encountered: