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)