Mike Dusenberry created SYSTEMML-1686:
-----------------------------------------

             Summary: Transpose Conv2d has incorrect filter shape
                 Key: SYSTEMML-1686
                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1686
             Project: SystemML
          Issue Type: Bug
    Affects Versions: SystemML 1.0
            Reporter: Mike Dusenberry
            Assignee: Mike Dusenberry


Currently, the transpose conv2d layer ([{{nn/layers/conv2d_tranpose.dml}} | 
https://github.com/apache/systemml/blob/master/scripts/nn/layers/conv2d_transpose.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}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to