* Fix constructor pretty printing
* Make Module::HasDef name consistent with API
* Add VM constructor compilation via eta expansion
* Lint
* Fix CI
* Fix failing test
* Address comment
* Retrigger CI
* Retrigger CI
* WIP Run the TF tutorial on TF2
* Remove debugger statement.
* Complete the support for TF2.0's `resize`.
TF2.0 adds a `half_pixel_centers` attribute to the `resize` function in
the image API. This commit completes the hooks in Relay's TF frontend.
At the point of this commit, no new test yet. Also, this commit
addresses solely the `resize` change. Other commits address other
changes in TF2.0.
* Support TF2.0 in the tutorial by using the compat API.
This looks cleaner than trying to detect the TF version.
* Use the TF compat API, so as to support TF2.0.
This is a direct change, relying on the compat API provided by the TF
team.
This code will last as long as the compat API exists, so a
"proper" support for TF1.x and 2.x will require more work in some
future.
* Partial support for EXPLICIT padding introduced in TF2.0.
Explicit padding is a special case in TF2.0 (see reference linked
below). Some models are serialized with that mode, and break TF support
in TVM.
Support is *partial* as EXPLICIT falls back to set padding on the
Relay op, which only supports 2 values. At some point, padding may need
to be extended to support 4 values, but that is out of scope of this
support commit.
Reference on EXPLICIT padding: https://github.com/tensorflow/tensorflow/commit/ec81825aaf7e848d9f8ddffdf1e0d20aebe9172c#diff-1d1c0bb0a880f85b6164f71dbb2f446e
* Guard on checking for optional TF2.0 attribute.
* Do not expect Relay to implement TF-specific attributes.
The `half_pixel_centers` attribute is a new feature in TF2.0. Earlier
commits of mine mistakenly introduce them in the Relay API. This is
probably not what Relay is expected to support, and the semantics of
`half_pixel_centers` is unclear (to me, at least) at this point.
* Remove unclear comment.
CR https://github.com/dmlc/tvm/pull/4104#discussion_r338705742
Addresses #4104
* Changes after review.
Complying without understanding the rationale for now.
* Fix the arguments set mistakenly.
An argument ignored for the wrong operation.
Previously runtime::Module was supported using shared_ptr.
This PR refactors the codebase to use the Object protocol.
It will open doors to allow easier interpolation between
Object containers and module in the future.
* Add Auto TensorCore TensorCore Unit Test
* Rebase to tvm master branch & Add auto tensor core
* Code Refine
* Add tensor core switch by pragma
* Add pragma in tensor core example code
* Get real tile size to replace hard coded 16
* support more than 2 dimensions (e.g. batchmatmul) for buffer bind scope
* support batch matmul
* Move cuda env check to tensor_core.cc
* Coderefine for tensor_core.cc
* Refine comments
* Some refinements of code and comment
* Update TensorCore UT to pass the CPU test
* remove redundant code
* matmul's storage align for different layout
* Add support for differenct position of type cast
* Add formal tutorial for auto tensorcore codegen
* move tensorcore check up to tutorial code
* code and doc refine
* comment out tune_and_evaluate in tutorial
* fix cpplint error
* Batch matmul tuning running but with errors.
* Default x86 schedule as good as before.
* Code Cleanup
* Remove unused argument.
* improved template documentation.
* Silly lint fix
* Removed leftover comment.
* Moved cfg declaration to schedule for batch_matmul
* Moved x86 dense cfg declaration to schedule.
* lint fix
* Removed duplicate cfg declaration in dense.
* Reverted changes to dense.
* Added slice v10
* Added constantofshape operation and small refactor.
* Finished one_hot implementation.
* Reshape working across all bert layers.
* Fixed constantofshape and removed code duplication.
* onnx model fully ingested.
* Working on improving onnx tests.
* Changed onnx testing to use onnxruntime instead of caffe2, also formatted.
* Add arbitrary output nodes to onnx frontend.
* Added v6 tiling for bert squad 8 support.
* Small syntax fixes
* Reduced code duplication in split opset versions.
* Added batch matmul test
* Added unstack split testing.
* Adde onehot test, needs a little cleanup probably.
* Replaced deprecated constant fill with constantofshape and updated tests accordingly.
* Added tests for new opset version of slice and tile.
* lint clean up
* Lint fixes
* Changed onnx dependency
* Went back to caffe2 runtime for CI integration.
* Rebase and small typo/syntax changes.
* Added hard casting of onehot attributes to int.
* :add scale2 for upsample
* update unit test for upsampling
* support latest upsample op for multiple frontend
* fix lint
* fix lint
* fix lint
* fix lint
* update scale description and rebase
* add tensor core support
* avoid memory bank conflict
* fix thread sync & better performance
* better performance
* add schedule test for conv2d
* extend into BatchMatMul
* support config fragment shape and layout using intrinsic
* add TensorCore tutorial
* add int support and fix lint
* address comment
* add 32*16*8 TensorCore test
* fix wmma include logic