You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@systemml.apache.org by "Mike Dusenberry (JIRA)" <ji...@apache.org> on 2017/06/13 17:40:00 UTC

[jira] [Commented] (SYSTEMML-1686) Transpose Conv2d has incorrect filter shape and incorrect input size argument

    [ https://issues.apache.org/jira/browse/SYSTEMML-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16048155#comment-16048155 ] 

Mike Dusenberry commented on SYSTEMML-1686:
-------------------------------------------

[PR 541 | https://github.com/apache/systemml/pull/541] submitted.

> Transpose Conv2d has incorrect filter shape and incorrect input size argument
> -----------------------------------------------------------------------------
>
>                 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)