1. 14 Jan, 2020 4 commits
  2. 12 Jan, 2020 1 commit
    • GitHub Action lint Python code for syntax errors (#4688) · bd17baa2
      * GitHub Action lint Python code for syntax errors
      
      https://flake8.pycqa.org/en/latest/user/error-codes.html
      
      On the flake8 test selection, this PR does _not_ focus on "_style violations_" (the majority of flake8 error codes that [__psf/black__](https://github.com/psf/black) can autocorrect).  Instead these tests are focus on runtime safety and correctness:
      * E9 tests are about Python syntax errors usually raised because flake8 can not build an Abstract Syntax Tree (AST).  Often these issues are a sign of unused code or code that has not been ported to Python 3.  These would be compile-time errors in a compiled language but in a dynamic language like Python they result in the script halting/crashing on the user.
      * F63 tests are usually about the confusion between identity and equality in Python.  Use ==/!= to compare str, bytes, and int literals is the classic case.  These are areas where __a == b__ is True but __a is b__ is False (or vice versa).  Python >= 3.8 will raise SyntaxWarnings on these instances.
      * F7 tests logic errors and syntax errors in type hints
      * F82 tests are almost always _undefined names_ which are usually a sign of a typo, missing imports, or code that has not been ported to Python 3.  These also would be compile-time errors in a compiled language but in Python a __NameError__ is raised which will halt/crash the script on the user.
      
      * Force a retest
      
      * Rename start_rpc_server_to_tracker.py to start_rpc_server_to_tracker.sh
      
      This is a bash file, not a Python file.
      Christian Clauss committed
  3. 11 Jan, 2020 12 commits
    • [Relay/Topi][Op] Conv1D (#4639) · 35099e6a
      * added conv1d operators to topi.
      
      * Started to add python testing.
      
      * Added python conv1d implementation for testing.
      
      * Wrote test but need to add cuda schedule :(
      
      * Cuda schedules working for both conv1d layouts.
      
      * All topi tests passing.
      
      * Formatting topi.
      
      * Removed pad_method option as its probably overkill.
      
      * Added relay op definition of conv1d.
      
      * End2end conv1d working with onnx.
      
      * Lint fixes.
      
      * Formatting fixes.
      
      * Rebase fix.
      
      * Switched to array based attributes for consistency across convs.
      
      * Improved onnx parsing and testing for convolutions.
      
      * lint fix
      
      * Tiny tweak.
      
      * Bug fix
      
      * Rebase fix.
      
      * Add group ignore to onnx conv1d frontend.
      
      * Unified MakeConv and fixed documentation.
      
      * improved autopadding
      
      * Addressed feedback and simplified onnx frontend.
      
      * Format fix.
      
      * Basic X86 NCW schedule working.
      
      * Added nwc schedule.
      
      * fixed name
      
      * Added more tests and basic x86 schedules.
      
      * Format fix.
      
      * Added non power of two shape tests.
      Josh Fromm committed
    • [REFACTOR][IR] Unified IR Primitive Op and Registry (#4687) · d8f06020
      This PR migrates relay's Op into the ir folder.
      Op and its registry provides an useful mechanism to
      store any attribute meta-data of an operator include
      function signatures, lowering rules, side effect etc.
      
      These features are not only useful for Relay, but also needed in the low-level IR.
      At the current moment, intrinsic functions in the low-level IR are simply
      represented by a string. This means we cannot type-check the low-level IR
      when the type does not meet the constraint, nor can we obtain further
      information such as side-effect and read write relation of these intrinsics
      wrt to arguments.
      
      Op will be used as the way to handle primitive ops(in DL terminology)
      (builtin intrinsics or in compiler terminology).
      We will perform follow-up refactors to make low-level CallNode
      take Op as the function argument.
      Tianqi Chen committed
    • [Tutorial] Deploy Quantized Model on CUDA (#4667) · a2fe7a3e
      * [Tutorial] Deploy Quantized Model on CUDA
      
      * update
      
      * update
      
      * address comments
      Wuwei Lin committed
    • Update and rename start_rpc_server_to_tracker.py to start_rpc_server_to_tracker.sh (#4689) · 91d0bac9
      This is a shell file, not a Python file.
      Christian Clauss committed
    • [REFACTOR][IR] Allow Module to store BaseFunc. (#4678) · 3d52a99c
      Under the unified IR. We will allow a single IRModule
      to store different function variants, such as relay::Function,
      ExternFunc, and low-level function.
      
      This PR changes relay::Function -> BaseFunc in the module file
      to support multiple function variants.
      Tianqi Chen committed
    • Use ==/!= to compare str, bytes, and int literals (#4686) · a684bd6f
      Identity is not the same thing as equality in Python so use ==/!= to compare str, bytes, and int literals. In Python >= 3.8, these instances will raise __SyntaxWarnings__ so it is best to fix them now. https://docs.python.org/3.8/whatsnew/3.8.html#porting-to-python-3-8
      
      % __python__
      ```
      >>> dtype = "float"
      >>> dtype += "16"
      >>> dtype == "float16"
      True
      >>> dtype is "float16"
      False
      >>> 0 == 0.0
      True
      >>> 0 is 0.0
      False
      ```
      Christian Clauss committed
    • Fix Python syntax error AGAIN in start_rpc_server_to_tracker.py (#4685) · b0b914c1
      #4682 Tried to fix a Python syntax error but did not go far enough because there are _three sets_ of embedded quotes.
      This PR solves the syntax error by using Python's triple quoted strings on the outside and then double quotes in the middle and then single quotes on the inside.
      Christian Clauss committed
    • [TOPI][RELAY][OP] add op crop_and_resize (#4417) · 56416ed0
      * [TOPI][RELAY][OP] add op crop_and_resize
      
      * fix pylint
      
      * incorporate comments
      
      * fix ci
      Yong Wu committed
    • [REFACTOR][IR] Initialize Unified IR Expr Data Structure (#4673) · 12e51e6c
      This PR moves a few base types from relay and low-level Expr into the ir sub-folder.
      These classes will serve as a common type system across the stack.
      
      Rationale:
      
      - PrimExpr for low-level expressions
      - RelayExpr for advanced features, including Function definition.
      - Introduce BaseFunc to host all functions, including future PrimFunc(low-level expr functions, subject to discussion).
      
      This is a minimum change we can do to unify the classes into a common hierarchy.
      The main data structure that are variant specific will still be kept in the sub-namespaces.
      We only include classes that is needed to allow a common Module class.
      - BaseFunc
      - GlobalVar
      - Type definition part of ADT
      
      We will only need the BaseFunc and their checked_type to decide the calling convention
      across the function variants.
      Tianqi Chen committed
    • [REFACTOR] Replace TensorObj and TensorValue with NDArray (#4643) · 86092de0
      * replace TensorObj and TensorValue with NDArray
      
      * NodeBase to Object in Python
      
      * rebase
      Zhi committed
    • [Relay][TOPI]Fix meaning of conv2d_transpose output_padding parameter (#4318) · dcf7fbf1
      * Add output_padding to generic
      
      * Add output_padding to the reference impl
      
      * Add output_padding to arm_cpu
      
      * Add output_padding to the test
      
      * Add output_padding for cuda
      
      * Add output_padding for x86
      
      * Make use of the new output_padding argument in Relay
      
      * Adjust conv2d_transpose Relay test
      
      * Fix lint errors
      
      * Fix the VTA declaration of conv2d_transpose
      
      * support for output padding in conv2d transpose
      
      * some output padding will break IR pass
      
      * Fix new conv2d_transpose test
      
      * Update tophub
      
      * Fix conv1d output_padding too.
      
      * Fix the conv1d_transpose reference function.
      
      * Fix the cuda impl
      
      * fix the topi test for conv1d
      
      * Update the versions in tophub.py
      
      Co-authored-by: Thierry Moreau <tmoreau@octoml.ai>
      abergeron committed
    • [Bugfix] fskip of EliminateCommonSubexpr cannot always return false (#4620) · 4073125d
      * 'fskip' will not always return false
      
      fskip returns false at the end of PackedFunc, discards return true in 'cast' case
      
      * Update build_module.cc
      yuliujq committed
  4. 10 Jan, 2020 12 commits
  5. 09 Jan, 2020 7 commits
  6. 08 Jan, 2020 4 commits