Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-1686

Transpose Conv2d has incorrect filter shape and incorrect input size argument

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • SystemML 1.0.0
    • SystemML 0.15
    • 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

          Activity

            People

              mboehm7 Matthias Boehm
              dusenberrymw Mike Dusenberry
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: