Conv2d_transpose requires asymmetric padding which the CUDA EP currently does not support

Open
#11,312 14 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
43/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cpp, python, tensorflow

Research direction

Start with ConvTranspose handling in the CUDA execution provider and compare the reported SAME-padding case with the tensorflow-onnx test referenced in the issue, which covers VALID padding. Check the supported-operators documentation and the linked asymmetric-padding change for expected behavior. Done means the reported model runs with asymmetric padding without the unsupported-operation warning.

Written by the indexing model from the issue text.

Description

core runtime ep:CUDA feature request

Describe the bug
After successfully converting a tensorflow frozen graph(.pb) into a .oonx model, I encountered a warning while inferring the onnx model with onnxruntime-gpu in python.
The warning says conv2d_transpose op is not supported because it requires asymmetric padding which the CUDA EP currently does not support.

But it's strange that I found ConvTranspose is in Supported ONNX Operators and it seems the asymmetric padding issue is already solved.

System information

  • OS Platform and Distribution:Linux Ubuntu 20.04
  • ONNX Runtime installed from: pip install onnxruntime-gpu
  • ONNX Runtime version: 1.10.0
  • Python version: 3.6
  • CUDA/cuDNN version: 11.3/8.2.1
  • Tensorflow Version: 1.15
  • opset: 13

Expected behavior
conv2d_transpose has been supported.

Screenshots
image

Additional context
I found tf.nn.conv2d_transpose has been tested in tensorflow-onnx with padding="VALID",while I use padding="SAME".
https://github.com/onnx/tensorflow-onnx/blob/f64772ce166ea2a0402524d9741b2fb71e5663df/tests/test_backend.py#L579-L590

Dominant language
C++
Stars
21.9k
Forks
4.2k
Avg merge
4d 8h
Merged PRs (30d)
179

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/onnxruntime

All issues in microsoft/onnxruntime

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.