1. 20 May, 2022 5 commits
  2. 29 Apr, 2022 1 commit
  3. 23 Apr, 2022 1 commit
    • Charlie Lin's avatar
      ReverseSequence op (#1177) · 31906785
      Charlie Lin authored
      Implements the ReverseSequence ONNX operator as a parser.
      
      This parser can only handle a constant sequence_lens input. This is the same as what is handled for TensorRT as far as I can tell.
      We could handle a variable sequence_lens input; that would require ref and GPU implementations of the operator.
      The ONNX backend tests are disabled because this does not handle variable sequence_lens.
      31906785
  4. 19 Apr, 2022 1 commit
    • Charlie Lin's avatar
      Refactor Pooling and implement ONNX LpPool and GlobalLpPool (#1152) · 764273e4
      Charlie Lin authored
      Refactored the reference implementation of pooling to something like what was done for roialign. Moved the reference implementation of pooling from targets/ref/lowering.cpp to pooling.hpp.
      Removed cpu_pooling, instead using reference pooling in pooling.hpp
      Added reference implementation of Lp Norm pooling and the global version
      Added tests for the Lp Norm Pooling
      764273e4
  5. 11 Apr, 2022 1 commit
    • bpickrel's avatar
      scatter operator refactoring to include reduction (#1124) · 701c2014
      bpickrel authored
      Change the "scatter" struct and op to a base/child set of three: scatter_none, scatter_add, scatter_mul to mirror Onnx' ScatterElements op. and its three reduction options. (Onnx Scatter op is deprecated and is equivalent to scatter_none.)
      
      Provides both a reference op. and update to Onnx parsing. Tests updated and new test case added.
      701c2014
  6. 21 Mar, 2022 1 commit
  7. 09 Mar, 2022 1 commit
  8. 08 Mar, 2022 1 commit
  9. 07 Mar, 2022 1 commit
  10. 04 Mar, 2022 1 commit
  11. 03 Mar, 2022 1 commit
  12. 02 Mar, 2022 1 commit
  13. 31 Jan, 2022 1 commit
  14. 28 Jan, 2022 1 commit
  15. 26 Jan, 2022 1 commit
    • turneram's avatar
      Add HardSwish op ONNX parser (#1066) · 7477aeb8
      turneram authored
      Add HardSwish to HardSigmoid parser
      
      HardSwish formula is y = x * HardSigmoid<alpha=1/6, beta=0.5>(x)
      HardSigmoid parser sets alpha to 1/6 and adds the mul instruction if op name is HardSwish
      
      Resolves #1062
      7477aeb8
  16. 21 Jan, 2022 3 commits
  17. 11 Jan, 2022 1 commit
    • turneram's avatar
      HardSigmoid ONNX parser (#1040) · fc42d852
      turneram authored
      Add HardSigmoid onnx parser and unit tests
      Produces mathematical equivalent to ONNX operator through combination of existing pointwise ops.
      Resolves #1028
      fc42d852
  18. 05 Jan, 2022 1 commit
  19. 28 Oct, 2021 1 commit
  20. 20 Oct, 2021 1 commit
    • Shucai Xiao's avatar
      Roialign (#952) · d7653732
      Shucai Xiao authored
      Implementation of the roialign operator. For now, we have only the ref implementation. When we run a model on the GPU, we fall back the execution to use the ref implementation.
      d7653732
  21. 14 Oct, 2021 1 commit
  22. 08 Oct, 2021 1 commit
  23. 01 Oct, 2021 2 commits
    • turneram's avatar
      Add multinomial op (#954) · 0b7672d7
      turneram authored
      
      
      Add multinomial op to onnx parser with ref and GPU implementations.
      
      The onnx parser inserts a literal of shape {batch_size, sample_size} with random values in the range [0, 1) and inserts existing ops to compute the cumulative density function. The multinomial operator multiplies the random values by the sum of the CDF and returns the index of the first element of the CDF that is greater than the result, representing samples randomly drawn from [0, class_size) that follow the log-probability distribution.
      
      Resolves #821
      Co-authored-by: default avatarShucai Xiao <shucai@gmail.com>
      0b7672d7
    • turneram's avatar
      Add remaining random ops for Barracuda models (#963) · ccd08b4c
      turneram authored
      Add RandomNormal, RandomNormalLike, RandomUniform, and RandomUniformLike to onnx parser and onnx tests
      
      Each pair of Random*/Random*Like is implemented using a single op_parser because the ops share the same essential attributes and algorithm with the difference that Random*Like get the output type and/or shape from an input argument and Random* take both from attributes.
      
      Resolves #907
      Resolves #959
      ccd08b4c
  24. 29 Sep, 2021 1 commit
  25. 16 Sep, 2021 1 commit
    • Shucai Xiao's avatar
      Loop operator (#853) · a275f590
      Shucai Xiao authored
      
      
      Add Loop operator for opset version 13.
      Notes: 1) Default max iteration number is 10 if no max iteration number is provided
      2) To change the max iter number, a user can set the max_loop_iterations in the onnx_option struct when parsing a model.
      3) The returned shape of the scan output is from the max_loop_iterations even the actual loop num is less than that. This issue also applies to other operators like NonZero and NonMaxSuppression. A issue #948 is created to track this and to be resolved later.
      Co-authored-by: default avatarPaul <pfultz2@yahoo.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      a275f590
  26. 10 Sep, 2021 1 commit
  27. 02 Sep, 2021 1 commit
  28. 31 Aug, 2021 1 commit
    • Shucai Xiao's avatar
      Fix debug assert (#930) · bd85a76c
      Shucai Xiao authored
      * fix two asserts for debug build
      
      * add unit test for copy parameters
      
      * clang format
      
      * add a unit test for reorder_dims
      
      * change tranpose to always require perm not be empty
      
      * clang format
      
      * remove an unnecessary line
      
      * fix tidy error
      
      * fix review comments
      bd85a76c
  29. 02 Aug, 2021 1 commit
  30. 28 Jul, 2021 1 commit
  31. 21 Jul, 2021 1 commit
  32. 15 Jul, 2021 1 commit
    • turneram's avatar
      Quantize linear ops (#843) · 3282e01a
      turneram authored
      * Add operators, refactor parsers, add rewrite passes, add tests
      
      * Formatting
      
      * Fix cppcheck
      
      * Review comments
      
      * Formatting
      
      * Combine rewrite passes
      
      * Formatting
      
      * Add ref implementations
      
      * Formatting
      
      * Review comments
      
      * Formatting
      
      * Tidy warnings
      
      * Apply review comments
      
      * Formatting
      
      * Fix CI error
      
      * Formatting
      
      * Increase code coverage
      
      * Formatting
      
      * Move broadcasting of scales and zero points to onnx parser
      
      * Formatting
      
      * Allow for x and zero_point to have different types in quantizelinear; fix zero_point default type
      
      * Formatting
      
      * Increase code coverage
      
      * Formatting
      
      * Switch certain variables to int64_t
      
      * Formatting
      
      * Fix overflow in implicit constant conversion
      
      * Formatting
      
      * Increase code coverage
      
      * Formatting
      
      * Remove operators.hpp from includes in tf_test.cpp
      
      * Formatting
      
      * Add conversion for int32 input to quantizelinear and add test case; remove operators.hpp from onnx_test.cpp includes
      
      * Formatting
      
      * Switch dequantizelinear math from int32 to float
      
      * Formatting
      
      * Remove changes to operators.hpp
      
      * Simplify apply_quantizelinear
      
      * Formatting
      
      * Add verify test for int32 data
      
      * Add rewrite_quantization back to CMakeLists
      3282e01a
  33. 01 Jul, 2021 1 commit
    • Cagri Eryilmaz's avatar
      Step op for parse_slice.cpp (#858) · 85d93d23
      Cagri Eryilmaz authored
      
      
      * slice+step+reverse: parsing + onnxfile + test
      
      * cleanup
      
      * updates for step operator, abs axis
      
      * test updates
      
      * updates to tests
      
      * slice+reverse verify test
      
      * verify test for slice+step+reverse
      
      * clang format
      
      * reverse with lens
      
      * simplify normalize_compute_shape
      
      * step op: normalization for axes
      
      * clang format
      
      * change of order: fixing wrong functionality in some cases
      
      * test for slice,reverse,step
      
      * clang format
      Co-authored-by: default avatarPaul Fultz II <pfultz2@yahoo.com>
      85d93d23