[Relay][Topi][AutoTVM] Winograd support for Conv3D (#5186)
authorJosh Fromm <jwfromm@uw.edu>
Sun, 5 Apr 2020 21:59:38 +0000 (14:59 -0700)
committerGitHub <noreply@github.com>
Sun, 5 Apr 2020 21:59:38 +0000 (14:59 -0700)
commit02eb18332a4f9b9491da0d4e8ed01c49fec2ac5e
tree7ca011405737c207898ed0152cd4435e16a38c1d
parentc76cbd8d1096126bb2b16d83ac3039af3f1128b8
[Relay][Topi][AutoTVM] Winograd support for Conv3D (#5186)

* Functional conv3d winograd working.

* Formatted python code.

* registered conv3d winograd compute and started adding relay without_weight_transform operator.

* Add topi testing for conv3d winograd.

* Format file.

* small tweak to unrolling to prevent build sticking.

* Refactoring convolution ops in relay.

* Refactored relay convolutions.

* Bug fixes.

* Fixed static bug in convolution.

* Added conv3d alter op layout and related support.

* Bug fixes and testing done.

* Fix a few autotvm bugs.

* Drop silly debug print.

* Removed debug_skip_region.

* Add variant of conv3d_winograd that doesn't transform depth.

* initial infrastructure done for depthless conv.

* Fix no_depth schedule bugs.

* automatic topi switching between depth and depthless winograd.

* Fixed bug in schedule.

* lint fixes.

* Removed indents in convolution.cc

* missed a few indents oops.

* fixed flop count.

* One more small tweak.

* Change kernel pack inner axes order.

* Style changes.

* Comment fixes.
17 files changed:
docs/langref/relay_op.rst
include/tvm/relay/attrs/nn.h
python/tvm/relay/op/nn/_nn.py
python/tvm/relay/op/nn/nn.py
python/tvm/relay/op/nn/util.py
python/tvm/relay/op/op_attrs.py
python/tvm/relay/op/strategy/cuda.py
python/tvm/relay/op/strategy/generic.py
src/relay/op/nn/convolution.cc
src/relay/op/nn/convolution.h
tests/python/relay/test_op_level2.py
topi/python/topi/cuda/__init__.py
topi/python/topi/cuda/conv3d_alter_op.py [new file with mode: 0644]
topi/python/topi/cuda/conv3d_winograd.py [new file with mode: 0644]
topi/python/topi/generic/nn.py
topi/python/topi/nn/conv3d.py
topi/tests/python/test_topi_conv3d_winograd.py [new file with mode: 0644]