1. 13 Aug, 2019 2 commits
  2. 12 Aug, 2019 1 commit
  3. 11 Aug, 2019 1 commit
  4. 09 Aug, 2019 1 commit
  5. 08 Aug, 2019 1 commit
    • [QNN] Requantize operator (#3531) · a78adbd5
      * [Relay] [Quantization] WIP - Common files for the qauntization work.
      
      * [Relay] [Quantization] WIP - Prototyping requantize op.
      
      * Requantize operator implementation.
      
      Requantize converts one quantized tensor representation to another quantized
      representation. The PR has following implementation features
      
      - Requantize operator defined in qnn namespace - relay.qnn.requantize
      - Lowering of the requantize to exisiting Relay operators
      - Integer fixed point implementation of requantize
          - Two rounding modes - FE_UPWARDS (round towards infinity) and
          FE_AWAY_FROM_ZERO (std::round behavior)
      - Floating point implementation as well, that can act as reference or can be
      used for devices when FP32 computation is not used.
      - Unit test cases
      
      Relevant Issue - https://github.com/dmlc/tvm/issues/2351
      
      Credit to TFLite and GemmLowp to provide reference implementations.
      
      * Typo and lint fixes.
      
      * Doc fix.
      
      * Uncommenting the lint script (fixing mistake).
      
      * Modifying the unit tests.
      
      * Moving C++ files into src/relay/qnn
      
      * Moving python files to python/tvm/relay/qnn. Some minor fixes.
      
      * Moving the attrs.h inside the include directory.
      
      * Pushing files that I forgot earlier. Changing util location.
      
      * Incorporating comments. API change. Lint fixes.
      
      * Modifying the GetFixedPointMultiplierShift API as per comments.
      
      * Forgot the dialect change.
      
      * Changing rewrite to qnn_lower.
      
      * Renaming Quantize to Qnn for clarity.
      
      * Remove use_int_domain.
      
      * Incorportaing review comments.
      
      * Adding API doc for QNN dialect.
      
      * Move the qnn_lower pass to transform namespace.
      
      * Moving from expr to module. Adding namespace in C++.
      
      * Minor sentence rewrites. Added qnn namespace.
      
      * Added the API doc.
      
      * Chanding default out_dtype to int8. Adding a test with in/out_dtype as uint8.
      
      * Style fixes. Better error messages.
      
      * Adding documentation.
      
      * More documentation fixes.
      
      * Adding out dtype check for requantize.
      
      * Adding corner case for FP32 to fixed point conversion.
      
      * Adding extra line.
      
      * Documentation fix.
      
      * Adding static inline.
      
      * Incorporating jackwish comment. Removed idtype from requantize lowering.
      
      * Removing Quantize/Dequantize code. Restricting Requantize to (u)int8/int32.
      
      * Style fixes.
      
      * Fix the docs.
      
      * Move to Legalize API.
      Animesh Jain committed
  6. 07 Aug, 2019 1 commit
  7. 06 Aug, 2019 3 commits
    • [Relay] Legalize pass (#3672) · 79922bd3
      * [Relay] Rewrite pass.
      
      This pass transforms an expression to other expression.
      
      This pass has many usecases
       * Replace a expr to another expr, if the other expr has faster performance.
       * For ASICs, we might want to modify the inputs to adapt to the HW support.
       * Alter op layout can work in conjunction with this pass.
      
      The supporting usecase is the Intel i8 x i8 conv. Intel HW supports u8 x i8 conv
      in HW. Using this pass, we can replace an i8 x i8 conv to a sequence of
      operators where one of the operators is now u8 x i8 conv. This will also help
      automatic quantizaion performance.
      
      * Better API name.
      
      * Removing the conv2d legalization for x86. Will send a separate PR.
      
      * Test name changes.
      
      * Registering one funtion to register FTVMLegalize.
      
      * Better comments.
      Animesh Jain committed
    • [Relay] [TOPI] `{relay,topi}.nn.sparse_transpose` for **Square** CSR matrices (#3707) · 3b287c4d
      * add build gcn tutorial
      
      * add transpose operator for square sparse matrices
      
      * remove extra files
      
      * change loop tag
      
      * comply with lint
      
      * comply with lint -- line too long
      
      * comply with lint
      
      * lint check
      
      * lint check
      
      * lint check
      
      * apply marisa and theirry's reviews
      Yulun Yao committed
  8. 05 Aug, 2019 1 commit
  9. 03 Aug, 2019 1 commit
  10. 02 Aug, 2019 2 commits
  11. 01 Aug, 2019 2 commits
  12. 31 Jul, 2019 1 commit
  13. 25 Jul, 2019 1 commit
  14. 24 Jul, 2019 2 commits
  15. 23 Jul, 2019 3 commits
  16. 21 Jul, 2019 1 commit
  17. 19 Jul, 2019 2 commits
  18. 18 Jul, 2019 1 commit
  19. 17 Jul, 2019 3 commits
  20. 16 Jul, 2019 1 commit
  21. 12 Jul, 2019 1 commit
  22. 11 Jul, 2019 1 commit
  23. 10 Jul, 2019 4 commits
    • init (#3476) · 273c0280
      lint
      
      update
      
      address comment
      
      comment out breaking test
      雾雨魔理沙 committed
    • [Relay][RFC] Implement type checking for Any (#3221) · 3fb84e2b
      * Implement type checking for Any
      
      Remove code generation related changes
      
      Remove compile changes
      
      Remove more
      
      Remove unification hack
      
      Add some code back that was needed, and clean up test
      
      Refactor test cases
      
      WIP
      
      Implement TypeHint AST
      
      Add test case which should fail
      
      Remove unification changes, and fix bug with let rec
      
      Restore unification for shapes
      
      Improve error reporting while debugging
      
      All examples type check
      
      All examples type check
      
      WIP
      
      First version that works with hints, needs clean up
      
      Remove dead code
      
      Tweaks
      
      Remove type hint
      
      Remove unecessary type hint stuff
      
      Remove more type hints
      
      Clean up
      
      Expose Any expression node
      
      Address CR
      
      Fix
      
      Fix solver
      
      Kill unecessary code
      
      Fix
      
      PyLint
      
      Fix
      
      Relocate loops
      
      Fix license and test
      
      Lint again
      
      Lint again
      
      Fix loops
      
      Fix docstring
      
      Fix template error
      
      Fix compiler issue
      
      Fix compile err
      
      Remove more runtime changes
      
      Restore buffer
      
      Fix segfault
      
      Fix
      
      Fix arange
      
      * Address feedback
      
      * Fix typo
      
      * Fix arange
      
      * Fix op level3
      
      * Fix issue with Python wrapper
      Jared Roesch committed
    • [Relay][Testing] Relay-to-Python compilation (#3156) · db841c24
      * First pass at Relay-to-Python converter testing utility
      
      * Indicate astor as a dependency
      
      * Add astor dep to host as well
      
      * Typos and small bugs
      
      * Handle ADTs and matching in Python conversion
      
      * Remove any dependency on ast.parse
      
      * Eliminate unnecessary type var field in Python version of ConstructorValue (already gone on C++ side)
      
      * Update constructor value, fix syntax errors
      
      * Don't forget keywords arg on Call nodes
      
      * Fix some incorrect calls to ast nodes
      
      * Fix more calls, a little more cleaning up
      
      * Missing cases in attr conversion
      
      * Lower op calls instead of running them through interpreter, as in @MarisaKirisame's AoT compiler
      
      * We do still need the module
      
      * Remove changes to op attrs: Will PR separately
      
      * Smoke test and corrections
      
      * More tests and fixes
      
      * Ensure imports are properly global in generated Python code
      
      * Add unit tests for refs
      
      * Add unit test for tuple indexing
      
      * Add unit test for if expression
      
      * Remove astor dependency
      
      * Remove astor from meta.yaml too
      
      * Fix if test and add basic local function test
      
      * Add global function test, refactor earlier tests
      
      * Correct 'clause' field in ADT so Python and C++ field names match
      
      * More fixes and tests for matching and constructors
      
      * Dramatically simplify matching: no need for a thunk
      
      * Improve ref writing test
      
      * Ensure local recursion works
      
      * cleanup
      
      * Add test for global recursion
      
      * Add test for higher-order calls
      
      * Get ops working, add basic tests
      
      * Remove accidentally duplicated test
      
      * More docstrings to appease pylint
      
      * Forgot to fix a test using constructor values
      
      * Reduce optimization level in fusion and fix tuple input to operators
      
      * Test op with tuple output, fix tuple output code
      
      * Add unit test for batch norm
      
      * Add a couple more tricky test cases
      
      * Correct nat constructor to drop unnecessary field
      
      * Fix the op attrs file (accidentally reduced it)
      
      * Address review comments
      
      * Adapt to new ConstructorValue representation (no more runtime dep on module)
      
      * Use pass manager and updated interfaces. Extend module.from_expr to accommodate necessary demands
      
      * Use sequential return value
      
      * Lift out nested conditionals
      
      * Replace triple single quotes with triple double quotes
      
      * Use main variable instead of entry_func
      Steven S. Lyubomirsky committed
  24. 09 Jul, 2019 3 commits