[RELAY][Convert Layout] Specify additional layouts in convert layout pass (#5422)
authorlhutton1 <35535092+lhutton1@users.noreply.github.com>
Wed, 13 May 2020 18:08:32 +0000 (19:08 +0100)
committerGitHub <noreply@github.com>
Wed, 13 May 2020 18:08:32 +0000 (11:08 -0700)
commitd0b15feecd636081f669f7631cbca272ddb88438
treea553e8a40a36b1096404850cff6ace58def38d59
parentb1eb97ac1a073145728379824c6b0ec207ca3626
[RELAY][Convert Layout] Specify additional layouts in convert layout pass (#5422)

* [RELAY] Specify additional layouts in convert layout pass

* This patch means that you can specify an additional layout, rather than using the layout chosen by default during conversion.
* This is specifically useful for external codegen when a 3rd party library needs to target a specific kernel layout for example.

Change-Id: I3ef9cf45ead574801870a38af9768f93e29aab10

* Use mapping of op name to list of desired layouts

Change-Id: Ibd691a3cb93e73a394f36112668ad52a84c7d5a2

* Fix issue with code block

Change-Id: Ibb4e38c05ad4312b7dea845be699b8d5d57e0a94

* Address comments, Improve tutorial

Change-Id: Ib824eead329d551c338234de3b2d814693afd0ec

* Fix linting

Change-Id: Ie9e1891f590b3a7496a56ff8362cdda9d4b5fa75

* Test uses NCHW default layout. Unrelated issue with NHWC.

Change-Id: I1c16f0db73db56f5e9536db3fe5eb2624c3b595c

* Fix mistake in tutorial

Change-Id: I944041245d27af262dc96f1cd8117f1f19272062

* Address multiple comments

Change-Id: If33a1e34acd8fc37d1c7797ee189a6448a392672

* Improve tutorial

Change-Id: Ib04142c94c7958ab5067947d2ff4c84354e3d0c5

* Fix Clang-format

Change-Id: Ieff39e3f0817d22579c68b3287e972a3b0fcfbc8
docs/dev/convert_layout.rst
include/tvm/relay/op_attr_types.h
include/tvm/relay/transform.h
python/tvm/relay/op/nn/_nn.py
python/tvm/relay/qnn/op/layout_conversions.py
python/tvm/relay/transform/transform.py
src/relay/transforms/convert_layout.cc
tests/python/relay/test_pass_convert_op_layout.py