1. 25 Jul, 2023 1 commit
  2. 23 Jul, 2023 1 commit
  3. 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
  4. 16 Jun, 2023 1 commit
  5. 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
  6. 12 Jun, 2023 1 commit
  7. 17 May, 2023 1 commit
    • shivadbhavsar's avatar
      scalar unsqueeze broadcast support (#1753) · 2140fe19
      shivadbhavsar authored
      Adding support for broadcasted scalars to unsqueeze op.
      
      Specifying steps other than 1 is disallowed in this implementation since we want the output the always be a tensor. We can support varying step sizes if we allow a broadcasted scalar output from this op.
      2140fe19
  8. 18 Apr, 2023 1 commit
  9. 07 Apr, 2023 1 commit
  10. 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
  11. 03 Apr, 2023 1 commit
  12. 28 Feb, 2023 1 commit
    • Charlie Lin's avatar
      Select module op (#1569) · a63ee2e0
      Charlie Lin authored
      Creates the select_module operator that selects one of the submodules passed to it to run based on the submodule parameters.  The submodule is selected by having the exact same static shapes for the arguments to select_module as the parameters in the submodule
      a63ee2e0
  13. 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
  14. 11 Feb, 2023 1 commit
  15. 10 Feb, 2023 1 commit
  16. 03 Feb, 2023 1 commit
  17. 02 Feb, 2023 1 commit
  18. 30 Jan, 2023 1 commit
  19. 17 Jan, 2023 2 commits
    • 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
  20. 04 Jan, 2023 1 commit
  21. 08 Dec, 2022 3 commits
    • Charlie Lin's avatar
      Dynamic ref dot operator (#1457) · d411aa69
      Charlie Lin authored
      Extends dot MIGX operator to handle dynamic input shapes
      Only allow dot between two dynamic shapes that have exactly matching outer dimensions
      Inner dimensions must also match correspondingly
      Updates dot related tests
      Change check_shapes to use shape.ndim()
      ONNX parsers for GEMM and MatMult will be updated in a separate PR
      d411aa69
    • Charlie Lin's avatar
      Dynamic reference Softmax (#1475) · 8e7d2efe
      Charlie Lin authored
      No major changes required, use dyn_output and pass dynamic shape when calling compute_shape()
      Adds dynamic shape tests
      8e7d2efe
    • Charlie Lin's avatar
      Dynamic ref flatten (#1482) · 4c32afcc
      Charlie Lin authored
      Changes flatten's compute_shape() to handle dynamic shapes
      Calculates the flattened shape with the min, max, and opt
      4c32afcc
  22. 07 Dec, 2022 1 commit
  23. 06 Dec, 2022 1 commit
  24. 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
  25. 28 Nov, 2022 1 commit
  26. 17 Nov, 2022 1 commit
    • Charlie Lin's avatar
      Dynamic ref contiguous (#1445) · 95d82a51
      Charlie Lin authored
      Extends the ref contiguous operator to handle dynamic shapes
      Updates the eliminate_contiguous pass to use the dyn_output struct
      95d82a51
  27. 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
  28. 13 Oct, 2022 2 commits
  29. 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
  30. 04 Aug, 2022 1 commit
    • Charlie Lin's avatar
      Dynamic ref convolution op (#1224) · 67f77ac1
      Charlie Lin authored
      
      
      * Dynamic shape handling in shape object
      
      * rewrite empty lens multibroadcast test
      
      * Shape class changes to handle dynamic
      * More throw errors for functions that don't make sense for dynamic shape
      * Print output changes
      * Serialization changes
      
      * Fixing serialization errors
      
      * Remove const on dyn_dim copy getters
      
      * Dynamic shape tests
      
      * Fix serialize errors
      
      * Add dyn_data struct to avoid ambiguous constructor
      
      * Tidy fix: emplace_back() over for loop
      
      * Tidy fix: use move
      
      * Use std::initializer_list in constructor
      Reverts the dyn_data struct change
      Should get around the ambiguous braced initialization list error
      
      * avoid typedef
      
      * element_space, min,max,opt _lens change
      
      * formatting
      
      * Comments fix
      
      * dynamic bytes() test
      
      * Seralize and reflect changes
      
      * formatting
      
      * Test the dynamic lens functions
      
      * progress
      
      * Formatting
      
      * Dynamic conv draft progress
      
      * Add operator<< tests for coverage
      
      * Coverage update
      
      * Add to conv dynamic batch test
      
      * Dynamic image size test
      
      * Dynamic weight handling
      
      * Dyn image shape test change, fix dyn weight cond
      
      * Comment update
      
      * Dynamic weights shape test and fix
      
      * Use ternary operator
      
      * Tidy fixes
      
      * Handle dynamic graph input shapes in ONNX parser
      
      * Formatting
      
      * Handle dynamic shape for convolution
      
      * formatting
      
      * cppcheck fixes
      
      * Add onnx test files
      
      * Fix typo
      
      * Disable auto_pad for dynamic input shape
      
      * check_shapes object checks for allowing dynamic shapes
      
      * Fix any_of
      
      * Change to maintain const objectness
      
      * Formatting
      
      * Check shapes allow dynamic
      
      * Refactor compute_shape() call into op.compute()
      Allows for per operator differences with handling dynamic shape
      Fix operation.hpp change to use the generator
      
      * Comment fix
      
      * Refactor normalize_attributes() calls to use max_lens()
      
      * Comment addition
      
      * Update other normalize_attributes() calls
      
      * Change to using constructor and add tests
      
      * Use const member function
      
      * Add more dynamic shape support
      
      * Add tests for error code coverage
      
      * Fix opt shape bug and add shape tests
      
      * capture all by ref
      
      * Fix typo with img shape calculation
      
      * Add more tests
      
      * dynamic auto pad attempt
      Linker error with pad_calc.cpp
      
      * Fix parse dyn auto_pad
      Should only need to use dynamic auto pad when the image shape or kernel
      shape are dynamic. For a dynamic batch size, the auto pad calculation is
      the same.
      
      * Fix linking error
      
      * Fix auto_pad bug
      Fixed input tensor with auto_pad setting on
      
      * auto_pad onnx tests
      
      * Fix auto_pad calculation, evaluate in ref_conv
      add ref_ops tests
      
      * Add shape tests, fix bugs
      
      * Refactor first two output dynamic len calculation
      
      * Conv MLIR test update
      
      * i64 MLIR test fix
      
      * Fix MLIR test typo
      Co-authored-by: default avatarChris Austen <causten@users.noreply.github.com>
      67f77ac1
  31. 08 Jul, 2022 1 commit
  32. 07 Jul, 2022 1 commit
    • Paul Fultz II's avatar
      Add a step to unsqeeze axis (#1242) · bd503d89
      Paul Fultz II authored
      Instead of just unsqueezing to an axis of 1 a step can be set to use instead. So instead of unsqueezing {3, 12} to {3, 1, 12} a step of 2 will unsqeeze to {3, 2, 6} instead
      bd503d89
  33. 22 Jun, 2022 1 commit
  34. 04 Mar, 2022 1 commit
    • bpickrel's avatar
      Mode as enum for pooling and roi_align (#1091) · a2e90b5d
      bpickrel authored
      Changed the pooling values for two structures from strings to specialized enum classes. Many test and operator parsing changes to support this. Introduces one new source file, op_enums.cpp.
      a2e90b5d
  35. 03 Mar, 2022 1 commit
  36. 16 Feb, 2022 1 commit