Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
SystemML 1.0.0
-
None
-
None
Description
Currently, the transpose conv2d layer (nn/layers/conv2d_tranpose.dml has a bug in which the filters tensor W has an incorrect shape, and the conv2d_backward_data op has an incorrect input shape argument. This results in an exception when the number of input channels C is not equal to the number of filters F (i.e. number of output channels). Since the transpose conv2d op is the gradient of the conv2d op, the filter tensor needs to have the shape C, F, Hf, Wf for F filters, rather than F, C, Hf, Wf, in order to map from an input with C channels to an output with F channels during the input data gradient function (conv2d_backward_data) that is used in the forward pass. Additionally, the input_shape argument for conv2d_backward_data needs to be N, F, Hout, Wout, rather than N, C, Hout, Wout in order to map from an input with C channels to an output with F channels. Our current test cases did not catch this issue because the tests used C = F = 1.
Attachments
Issue Links
- relates to
-
SYSTEMDS-540 Deep Learning
- In Progress
-
SYSTEMDS-618 Deep Learning DML Library
- In Progress