• Adam Osewski's avatar
    Use GroupConvolutionBackpropData v1 in ONNX ConvTranspose. (#4158) · d80c8e42
    Adam Osewski authored
    * Use ConvolutionBackpropData in ONNX ConvTranspose operator.
    
    * Replace deprecated functions and update documentation.
    
    * Remove GroupConvolutionTranspose fused op.
    
    * Add more UT for GroupConvolutionBackpropData.
    
    - They're transformed from GroupConvolutionTranspose
    
    * Fix validate_and_infed types for ConvolutionBackpropData v1.
    
    * Add new constructor for GroupConvolutionBackpropData
    
    - Additionally do some code formatting.
    
    * Improve validation in GroupConvBackprop v0.
    
    * Update/fix upgrade & downgrade passes for
    (Group)ConvolutionBackpropData.
    
    * Add decomposition and validation for GroupConvolutionBackpropData:v1
    
    * Type properties UT for GroupConvolutionBackprop v1
    
    * Remove include of deleted header.
    
    * Add squeeze to opset1::builder.
    
    * Use opset1 squeeze.
    
    * Helper functions for padding and output spatial shape inference.
    
    These helper functions are specialized only for *ConvolutionBackpropData operators.
    
    * Update documentation.
    
    * Add more checks and remove deprecated assert.
    
    * Refactor GroupConvolutionBackpropData validation.
    
    - Use helper functions to infer padding and output shape.
    - Change get_output_shape to return only spatial features dimensions
    
    * Remove unnecessary code from donwgrade pass.
    
    The GroupConvolutionBackpropData node has already computed all those required
    information.
    
    * Call Node API. Small review suggestions.
    
    * Work only on spatial dimensions inside helper functions.
    
    * Enhance documentation for ConvolutionBackpropData
    
    * Refactoring.
    
    * Reuse values computed in downgraded operator.
    
    * Check for correct filters input shape.
    
    * Add additional check on auto pad value.
    
    * Remove unused variables.
    
    * Rename helper function.
    
    * Add more checks.
    
    * Override is dynamic and add more restrictive check.
    
    * Fix merge artifact and force unsigned type for argument.
    
    * Review comments: renaming.
    
    * Change Convolution + bias pattern.
    
    Change from bias broadcasting to appropriate convolution output shape
    into reshape into (1, C, 1, 1) shape, which sould work better.
    
    * Add few more test cases for ONNX ConvTranspose op.
    
    * Skip one UT failing on PlaidML backend due to accuracy.
    d80c8e42
group_convolution.in.cpp 8.93 KB