1. 23 Jul, 2023 1 commit
  2. 22 Jul, 2023 1 commit
  3. 21 Jul, 2023 1 commit
  4. 13 Jul, 2023 1 commit
    • Charlie Lin's avatar
      Update deconvolution -> convolution_backwards and Dynamic Shape Support (#1801) · 4edf1195
      Charlie Lin authored
      Renames deconvolution -> convolution_backwards to be more consistent with the literature
      Note: this is not the cross-correlation operator (which is the adjoint of convolution). This is technically a standard convolution operator combined with an upsampling operator rather than a downsampling operator.
      Adds unit tests for the padding, strides, dilations, and other op attributes.
      Throws on auto_pad attribute since it has not been implemented
      Previously it read the attribute and set it but then did nothing with it
      Extended for dynamic shapes
      Does not support using asymmetric padding (padding_L != padding_R) and output_shape with dynamic shapes.
      4edf1195
  5. 08 Jul, 2023 2 commits
  6. 01 Jul, 2023 1 commit
  7. 21 Jun, 2023 1 commit
  8. 15 Jun, 2023 1 commit
    • Brian Pickrell's avatar
      fix parse_instancenorm to create broadcast and multibroadcast instruc… (#1715) · 41ba30d5
      Brian Pickrell authored
      * fix parse_instancenorm to create broadcast and multibroadcast instructions with two dynamic shape arguments instead of 1.  Their make_op() functions don't support dynamic shapes when called with one input.  This caused an error when parsing an ONNX 3duunet model
      
      * Use add_common_op() to create multibroadcast op.
      
      * add verification and parsing test for instance_norm with dynamic input.  Parse test doesn't pass.
      
      * fix for test; still doesn't pass
      
      * another fix for test; still doesn't pass
      
      * work in progress, instance_norm_dyn_batch_test works but instance_norm_test doesn't
      
      * fix onnx instancenorm tests to match parser changes.  Passes all check tests
      
      * Updated comments explaining usage of add_common_op()
      
      * hand-merged conflicts with develop
      
      * fix instance_norm_half_test after merge
      
      * add Onnx test instance_norm_dyn_batch_half_test
      
      * add shape test cases broadcast_1in_dyn_error and multibroadcast_1in_dyn_error_0
      41ba30d5
  9. 08 Jun, 2023 1 commit
  10. 01 Jun, 2023 1 commit
  11. 17 May, 2023 1 commit
  12. 05 May, 2023 1 commit
  13. 17 Apr, 2023 1 commit
  14. 07 Apr, 2023 1 commit
  15. 04 Apr, 2023 1 commit
    • Charlie Lin's avatar
      Refactor dynamic_dimension to have multiple optimals (#1625) · e7ec374f
      Charlie Lin authored
      Makes the optimals into a std::set<std::size_t>
      Changes shape object functions to handle the opts change
      Changes to convolution, flatten, pooling, and convolution in that they no longer calculate the output optimal dimensions. Instead returns empty opts. Will need to change this in the future if we want to support dynamic shapes fully.
      Many changes to tests and shape calls with respect to the new optimals
      e7ec374f
  16. 03 Apr, 2023 1 commit
  17. 15 Feb, 2023 1 commit
    • Brian Pickrell's avatar
      Dyn slice (#1503) · 102c6bdb
      Brian Pickrell authored
      Add dynamic shape support to slice operator.
      
      First draft of this feature doesn't support ops slicing non-fixed, dynamic axes. Resulting shape in such cases is not guaranteed.* Also, onnx parsing doesn't support any arguments other than "axes".
      102c6bdb
  18. 10 Feb, 2023 1 commit
  19. 01 Feb, 2023 1 commit
    • Ted Themistokleous's avatar
      Parse if inline constant args (#1533) · ca15cd37
      Ted Themistokleous authored
      Allows migraphx to inline the IF operator when we run into an IF that can be evaluated at compile time, thus avoiding us injecting IF and just inserting the instructions directly.
      ca15cd37
  20. 24 Jan, 2023 1 commit
  21. 21 Jan, 2023 1 commit
  22. 17 Jan, 2023 3 commits
    • Charlie Lin's avatar
      Dynamic ONNX Gemm (#1459) · 8b651eee
      Charlie Lin authored
      Extends ONNX Gemm parser to handle dynamic input shapes
      Limits ONNX Gemm parsing to 2D input tensors for A and B inputs
      As per the ONNX specifications
      Changed Gemm ONNX tests to 2D input versions
      Add onnx_verify tests for Gemm
      Parsing ONNX Gemm links to more than one operator, checking that it produces the correct result
      8b651eee
    • Charlie Lin's avatar
      Dynamic ref reshape (one non-fixed case) (#1500) · 3f49f8eb
      Charlie Lin authored
      Extends reshape to handle the case of a single non-fixed dynamic_dimension
      3f49f8eb
    • Charlie Lin's avatar
      Dynamic ref pad (#1487) · 8202e411
      Charlie Lin authored
      Extends pad operator to handle dynamic input shapes
      Only handles computing the shape for adding constant padding to a dynamic shape
      - adds the padding to the min, max, and opt values (unless opt is 0, where it keeps it 0)
      - does not handle reflect padding with dynamic shapes
      8202e411
  23. 13 Jan, 2023 1 commit
    • Charlie Lin's avatar
      Dynamic ONNX Matmul (#1466) · 1eb5a1d4
      Charlie Lin authored
      Extends parse_matmul.hpp to handle dynamic input shapes
      Does not support broadcasting of the outer dimensions for dynamic shapes at this time
      1eb5a1d4
  24. 11 Jan, 2023 1 commit
  25. 04 Jan, 2023 1 commit
  26. 13 Dec, 2022 1 commit
  27. 02 Dec, 2022 1 commit
    • Charlie Lin's avatar
      Dynamic ref pooling (#1449) · 0e40ebaa
      Charlie Lin authored
      Extends the pooling operators for dynamic shape inputs
      
      AveragePooling
      GlobalAveragePooling
      MaxPooling
      GlobalMaxPooling
      LpNormPooling
      GlobalLpNormPooling
      y.github.com>
      0e40ebaa
  28. 28 Nov, 2022 1 commit
  29. 13 Nov, 2022 1 commit
    • Charlie Lin's avatar
      Dyn ref multibroadcast; dyn binary (#1423) · d73c6d7c
      Charlie Lin authored
      Updated Multibroadcast op to have a two input version for dynamic shapes
      Current dynamic shape broadcasting logic
      dynamic_dimensions must be the same or one of them is {1, 1, 0} or {1, 1, 1}
      Works for dyn-dyn, dyn-static, and static-static shape combinations
      Changed common.cpp for multibroadcasting for binary ops with dynamic shapes
      Extended binary.hpp for dynamic shapes to test the new common.cpp stuff
      d73c6d7c
  30. 01 Nov, 2022 1 commit
  31. 27 Oct, 2022 1 commit
  32. 14 Oct, 2022 1 commit
  33. 13 Oct, 2022 1 commit
    • Charlie Lin's avatar
      Refactor dynamic padding mode (#1387) · 32f6388c
      Charlie Lin authored
      Removes use_dynamic_same_auto_pad
      Change padding_mode to be used for dynamic padding
      Move compute_padded_shape to pad_calc.cpp as it will be used in other dynamic padding cases
      Fix same_lower compute_padded_shape bug and add a test.
      32f6388c
  34. 26 Sep, 2022 1 commit
    • Charlie Lin's avatar
      Rewrite ONNX parse batch norm (#1362) · c00f8202
      Charlie Lin authored
      Rewrites the BatchNormalization ONNX operator into other MIGX operators
      - Added handling of 1D input tensor case (edge case in ONNX spec)
      Removes the spatial and per_activation functionality (not in the ONNX spec)
      - Did not remove the batch_norm_inference related code as the TensorFlow parser still uses it
      - Can remove that code when the TF version is updated
      c00f8202
  35. 06 Sep, 2022 1 commit
  36. 23 Aug, 2022 1 commit
    • Charlie Lin's avatar
      Dynamic ref NMS (#1288) · fa3c21fa
      Charlie Lin authored
      Has NMS op output a dynamic shape (ONNX spec behavior)
      Allows for dynamic input shape to NMS op
      fa3c21fa
  37. 08 Aug, 2022 1 commit
    • Ted Themistokleous's avatar
      Imply type of literal returned based on input protobuff for zero elem… (#1326) · bb0e04ce
      Ted Themistokleous authored
      * Imply type of literal returned based on input protobuff for zero element constant values.
      
      This saves us the default behavior as the onnx parsing assumes that every zero value is float. This way we're still grabbing relevant type information from the protobuff instead and wont fail our data type checks for if them/else blocks from onnx
      
      * Revert "Imply type of literal returned based on input protobuff for zero element constant values."
      
      This reverts commit 390bb853
      
      .
      
      * Add  test case to parse in empty constant int64 proto buffer
      
      I think the previous test case was aliasing an issue where we default to float but need to actually read in int64 instead of int32
      
      * fixup! Add  test case to parse in empty constant int64 proto buffer
      
      * Add test for non empty int64 scalar
      
      Add one item in the np array to use for the constant we're parsing in.
      
      * Draft partial fix
      
      * Fix test failures from previous change to read in protobuf data types correctly for empty constants.
      
      Instead of assuming things are empty and thus we default to float, reading in the correct types broke some assumptions code was using for an empty literal.
      
      * Fix formatting and naming
      
      * Fix naming with var in constant_one_val_int64_test
      Co-authored-by: default avatarcharlie <charlie.lin@amd.com>
      Co-authored-by: default avatarkahmed10 <15948690+kahmed10@users.noreply.github.com>
      bb0e04ce