1. 21 Jan, 2020 1 commit
  2. 19 Jan, 2020 1 commit
  3. 17 Jan, 2020 1 commit
  4. 16 Jan, 2020 2 commits
  5. 10 Jan, 2020 1 commit
  6. 09 Jan, 2020 2 commits
    • [REFACTOR][IR] tvm::Expr -> PrimExpr(Primitive Expr) (#4669) · d6a23cf5
      * [REFACTOR][IR] tvm::Expr -> PrimExpr(Primitive Expr)
      
      As part of unified IR, we will need to unify relay::Expr
      and the current tvm::Expr under the same base type.
      
      From the techinical point of view. tvm::Expr is a "primitive"
      expression that only contains POD types and handles and does
      not do life-cycle management.
      
      This PR renames Expr->PrimExpr to clarify that.
      We will send a subsequent PR to introduce the base expr class.
      
      * Remove legacy VarExpr and ExprHash/Equal
      Tianqi Chen committed
    • [Relay/Topi][Op] 1D Pooling (#4663) · 8a98a2e7
      * Added 1D pooling to Topi
      
      * Added 1D pooling relay op and tests.
      
      * Added onnx parsing and tests for maxpool1d and averagepool1d
      
      * formatting
      
      * moved partial import.
      
      * Fixed typo.
      Josh Fromm committed
  7. 06 Jan, 2020 1 commit
  8. 31 Dec, 2019 1 commit
    • [REFACTOR][OBJECT] Consoldiate NodePtr/Ref/Hash/Equal to Object (#4603) · a8c36921
      * [REFACTOR][OBJECT] Consoldiate NodePtr/Ref/Hash/Equal and macros to Object.
      
      Historically, we have classes like NodePtr/Ref/HashEqual.
      After unified object protocol, these names are just alias of the object counterpart.
      Moreover, there are helper macros defined over the places for defining these object.
      
      This PR consoldiate the terminologies into the corresponding ones
      in the Object system so we have a clean and consistent API moving forward.
      
      * Update include/tvm/attrs.h
      
      Co-Authored-By: Wei Chen <ipondering.weic@gmail.com>
      
      * fix compilation
      
      Co-authored-by: Wei Chen <ipondering.weic@gmail.com>
      Tianqi Chen committed
  9. 22 Dec, 2019 1 commit
    • [REFACTOR][DTYPE] Isolate dtype to runtime (#4560) · 7fa8aab5
      dtype.h -> runtime/data_type.h
      
      Changes:
      - Rename all old reference of tvm::Type to DataType
      - ExprNode.type -> ExprNode.dtype
      - Expr.type() -> Expr.dtype()
      - Change Expr related functions to expr_operator.
        - DataType::min() -> min_value(DataType)
        - DataType::max() -> max_value(DataType)
      - Move type constructor Int, UInt, Float, Handle, Bool into DataType.
        - Int(bits) -> DataType::Int(bits)
        - UInt(bits) -> DataType::UInt(bits)
      Tianqi Chen committed
  10. 12 Dec, 2019 2 commits
  11. 24 Nov, 2019 1 commit
  12. 18 Nov, 2019 1 commit
  13. 30 Oct, 2019 1 commit
  14. 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
  15. 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
  16. 20 Sep, 2019 1 commit
  17. 16 Sep, 2019 1 commit
  18. 09 Sep, 2019 1 commit
  19. 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
  20. 01 Aug, 2019 1 commit
  21. 24 Jul, 2019 1 commit
  22. 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
  23. 19 Jul, 2019 1 commit
  24. 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
  25. 24 May, 2019 1 commit
  26. 20 May, 2019 1 commit
  27. 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
  28. 26 Apr, 2019 1 commit
  29. 25 Apr, 2019 1 commit
  30. 17 Apr, 2019 1 commit
  31. 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
  32. 01 Apr, 2019 1 commit
  33. 14 Mar, 2019 1 commit
  34. 13 Mar, 2019 1 commit
  35. 11 Mar, 2019 1 commit
  36. 06 Mar, 2019 1 commit
  37. 03 Mar, 2019 1 commit