1. 30 Oct, 2019 1 commit
  2. 21 Oct, 2019 1 commit
    • [REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol. (#4161) · 7895adb2
      * [REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol.
      
      This PR removes the original node system, and make node as a subclass of Object.
      This is a major refactor towards a better unified runtime object system.
      
      List of changes in the refactor:
      
      - We now hide data_ field, use Downcast explicitly to get a sub-class object.
      - Removed the node system FFI in python.
      - Removed the node C API, instead use PackedFunc for list and get attrs.
      - Change relay::Op::set_attr_type_key(attr_key_name) to relay::Op::set_attr_type<AttrType>().
        - This change was necessary because of the new Object registration mechanism.
        - Subsequent changes to the op registrations
        - The change revealed a few previous problems that is now fixed.
      - Patched up a few missing node type registration.
        - Now we will raise an error if we register object that is not registered.
      - The original node.h and container.h are kept in the same location.
      - Calling convention: kObjectHandle now equals the old kNodeHandle, kNodeHandle is removed.
      - IRFunctor now dispatches on ObjectRef.
      - Update to the new type checking API: is_type, derived_from are replaced by IsInstance.
      - Removed .hash member function, instead use C++ convention hasher functors.
      
      * Address review comments
      Tianqi Chen committed
  3. 26 Sep, 2019 1 commit
    • [TOPI][x86] Introduce schedule_injective_from_existing and unify external… · b330d301
      [TOPI][x86] Introduce schedule_injective_from_existing and unify external schedules for all targets (#3983)
      
      * Fix extern schedule for x86
      
      * Register x86::schedule_extern
      
      * Fix
      
      * Fix
      
      * Replace extern.py with extern.h
      
      * Introduce new generic function schedule_injective_from_existing
      
      * Fix
      
      * Fix
      
      * Add back to C++
      
      * Fix style
      
      * Injective schedule calls local schedule_injective_from_existing
      
      * Fix
      
      * Remove target arg from schedule_injective_from_existing
      
      * Fix docs
      
      * Try to fix unit test
      
      * Fix test
      
      * Fix other tests
      
      * Fix bug
      Jon Soifer committed
  4. 20 Sep, 2019 1 commit
  5. 16 Sep, 2019 1 commit
  6. 09 Sep, 2019 1 commit
  7. 22 Aug, 2019 1 commit
    • [TOPI][Relay][TensorFlow] Add OneHot operator (#3781) · 554df211
      * Add one-hot to Relay
      
      * topi implementation
      
      * Working
      
      * add topi test
      
      * Add TF test
      
      * Fix check
      
      * fix linting issues
      
      * fix documentation
      
      * Fix documentation
      
      * Add support for on_value, off_value, axis, dtype
      
      * Add full support for axis
      
      * Fix compute and update test_forward
      
      * Move on_value and off_value to inputs
      
      * Add topi test
      
      * Update tests
      
      * Update docs
      
      * Fix style
      
      * re-enable tests
      
      * Add one_hot to mxnet converter
      Jon Soifer committed
  8. 01 Aug, 2019 1 commit
  9. 24 Jul, 2019 1 commit
  10. 23 Jul, 2019 1 commit
    • {relay,topi}.reinterpret support (#3599) · 2ed31b24
      = Motivation
      
      It's useful to expose the tvm::reinterpret functionality to Relay/TOPI users, as
      this allows them to build (fused) operators leveraging the bitwise
      reinterpretation of an operator. An example is approximate transcendental
      functions, which can be implemented similar to:
      
      ```.py
          def C(x):
              return relay.expr.const(x, "float32")
      
          def approx_exp(x):
              x = relay.minimum(relay.maximum(x, C(-88.0)), C(88.0))
              x = C(127.0) + x * C(1.44269504)
              xf = relay.floor(x)
              i = relay.cast(xf, "int32")
              x = x - xf
              Y = C(0.99992522) + x * (C(0.69583354) + x * (C(0.22606716) + x * C(0.078024523)))
              exponent = relay.left_shift(i, relay.expr.const(23, "int32"))
              exponent = relay.reinterpret(exponent, "float32")
              return exponent * Y
      
          def approx_sigmoid(x):
              # <2.0e-5 absolute error over [-5, 5]
              y = approx_exp(x)
              return y / (y + C(1.0))
      
          def approx_tanh(x):
              # <4.0e-5 absolute error over [-5, 5]
              x = x * C(2.0)
              y = approx_exp(x)
              return (y - C(1.0)) / (y + C(1.0))
      ```
      
      See unit tests for implementations of these approximate transendentals.
      Andrew Tulloch committed
  11. 19 Jul, 2019 1 commit
  12. 28 Jun, 2019 1 commit
    • [RELAY] [OP] [MXNet Frontend] Add sequence_mask (#3437) · 8ef22176
      * Add sequence_mask
      
      use exactly the same arguments as mxnet
      
      fix
      
      * fix lint
      
      * fix lint
      
      * add mxnet conversion + relay
      
      * update
      
      * update doc
      
      * fix pylint
      
      * fix doc
      
      * address comment
      
      * try to address comments
      
      * try to enable shape check for valid_length
      
      * fix
      
      * try to fix
      
      * fix bug
      
      * try to fix
      
      * address comment
      
      * address comment
      Xingjian Shi committed
  13. 24 May, 2019 1 commit
  14. 20 May, 2019 1 commit
  15. 09 May, 2019 1 commit
    • [Relay][Op] Adaptive pooling (#3085) · 147ea3b0
      * Add topi adaptive_pool
      
      * Use adaptive_pool to compute global_pool
      
      * Add relay adaptive pool2d
      
      * Fix lint
      
      * Fix typo
      
      * Minor change
      
      * Change support level to 10
      
      * Add contrib
      
      * Remove global pool schedule
      
      * Add contrib module
      
      * Fix lint
      
      * Update doc
      
      * Update doc
      Yao Wang committed
  16. 26 Apr, 2019 1 commit
  17. 25 Apr, 2019 1 commit
  18. 17 Apr, 2019 1 commit
  19. 08 Apr, 2019 1 commit
    • [HEADER] Add Header to Comply with ASF Release Policy (#2982) · cffb4fba
      * [HEADER] ASF header dir=include
      
      * [HEADER] ASF Header dir=src
      
      * [HEADER] ASF Header -dir=python
      
      * [HEADER] ASF header dir=topi
      
      * [HEADER] ASF Header dir=nnvm
      
      * [HEADER] ASF Header -dir=tutorials
      
      * [HEADER] ASF Header dir=tests
      
      * [HEADER] ASF Header -dir=docker
      
      * fix whitespace
      
      * [HEADER] ASF Header -dir=jvm
      
      * [HEADER] ASF Header -dir=web
      
      * [HEADER] ASF Header --dir=apps
      
      * [HEADER] ASF Header --dir=vta
      
      * [HEADER] ASF Header -dir=go
      
      * temp
      
      * [HEADER] ASF Header --dir=rust
      
      * [HEADER] Add ASF Header --dir=cmake
      
      * [HEADER] ASF Header --dir=docs
      
      * [HEADER] Header for Jenkinsfile
      
      * [HEADER] ASF Header to toml and md
      
      * [HEADER] ASF Header to gradle
      
      * Finalize rat cleanup
      
      * Fix permission
      
      * Fix java test
      
      * temporary remove nnvm onnx test
      Tianqi Chen committed
  20. 01 Apr, 2019 1 commit
  21. 14 Mar, 2019 1 commit
  22. 13 Mar, 2019 1 commit
  23. 11 Mar, 2019 1 commit
  24. 06 Mar, 2019 1 commit
  25. 03 Mar, 2019 1 commit
  26. 01 Mar, 2019 1 commit
    • [Relay/TOPI][Op] Add batch_matmul in relay and TOPI (#2561) · 84590063
      * Add batch_dot and cpu schedule
      
      * Add relay support for batch_dot
      
      * Rename batch_dot to batch_matmul
      
      * nits
      
      * Add missing file
      
      * Put batch_matmul and dense x86 schedule in separate files
      
      * Fix pylint
      
      * Remove unused import
      
      * Add cuda schedule for batch_matmul
      
      * Add test case with larger batch size
      
      * Add batch_matmul in api doc
      
      * Fix quantize pass rounding error
      
      * Fix pylint and minor change
      
      * bug fix
      Haichen Shen committed
  27. 28 Feb, 2019 1 commit
    • [Lang] Layout in TVM node system (#2509) · ee79703c
      * move layout.h & layout.cc from relay to tvm
      
      * change ConvertLayout in relay to bijectiveLayout->Forward/backward
      
      * add first test case
      
      * add LayoutAxis
      
      * add LayoutAxis struct and compiles
      
      * simplify BijectiveLayout rule consturct
      
      * polish func name for Layout, move impl to .cc, remove Layout::defined(), add defined() checker
      
      * partially add layout py support
      
      * add layout test cases
      
      * add doc for tvm.layout & tvm.bijective_layout
      
      * fix lint
      
      * fix lint
      
      * fix layout name generation bug
      
      * fix layout typo
      
      * address comments and add topi.layout_transform
      
      * layout.h->data_layout.h, test_lang_layout.py->test_lang_data_layout.py
      Yizhi Liu committed
  28. 27 Feb, 2019 1 commit
  29. 23 Feb, 2019 1 commit
  30. 19 Feb, 2019 1 commit
  31. 29 Dec, 2018 1 commit
  32. 29 Nov, 2018 1 commit
  33. 21 Nov, 2018 1 commit
  34. 31 Oct, 2018 1 commit
  35. 30 Oct, 2018 1 commit
  36. 27 Sep, 2018 1 commit
  37. 19 Sep, 2018 1 commit
  38. 18 Sep, 2018 1 commit
  39. 13 Jul, 2018 1 commit
  40. 09 Jul, 2018 1 commit