- 16 Jun, 2023 1 commit
-
-
Charlie Lin authored
* initial * Added tests and new functionality * Update optimals handling * Simplify conditionals * Ref test, update docs * Remove comment, suggestion unclear --------- Co-authored-by:Umang Yadav <29876643+umangyadav@users.noreply.github.com>
-
- 15 Jun, 2023 1 commit
-
-
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
-
- 12 Jun, 2023 1 commit
-
-
Paul Fultz II authored
-
- 17 May, 2023 1 commit
-
-
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.
-
- 18 Apr, 2023 1 commit
-
-
Ted Themistokleous authored
Ensure that we don't have empty inputs when computing shape for pointwise function
-
- 07 Apr, 2023 1 commit
-
-
Paul Fultz II authored
Converts can be inserted when the scales and input differ in the onnx file(we are already doing this implicit conversion in the ref implementation). This will also improve the compile-time of quantizelinear.hpp since we can remove the nested visit method.
-
- 04 Apr, 2023 1 commit
-
-
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
-
- 03 Apr, 2023 1 commit
-
-
shivadbhavsar authored
-
- 28 Feb, 2023 1 commit
-
-
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
-
- 15 Feb, 2023 1 commit
-
-
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".
-
- 11 Feb, 2023 1 commit
-
-
Brian Pickrell authored
* add dynamic shape support to concat operator. Includes new op_shape_test and ref_ops_test cases
-
- 10 Feb, 2023 1 commit
-
-
Brian Pickrell authored
dyn shape support for Where operator. Includes shape test, ref_ops test, onx_test.
-
- 03 Feb, 2023 1 commit
-
-
Brian Pickrell authored
* Implement dynamic shapes for scatterND operators.
-
- 02 Feb, 2023 1 commit
-
-
Brian Pickrell authored
Dynamic shape support for gathernd op.
-
- 30 Jan, 2023 1 commit
-
-
Brian Pickrell authored
Dynamic shape support for gather op.
-
- 17 Jan, 2023 2 commits
-
-
Charlie Lin authored
Extends reshape to handle the case of a single non-fixed dynamic_dimension
-
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
-
- 04 Jan, 2023 1 commit
-
-
Brian Pickrell authored
Implements dynamic shapes in reduce_op and all its child operator classes (reduce_max etc.)
-
- 08 Dec, 2022 3 commits
-
-
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
-
Charlie Lin authored
No major changes required, use dyn_output and pass dynamic shape when calling compute_shape() Adds dynamic shape tests
-
Charlie Lin authored
Changes flatten's compute_shape() to handle dynamic shapes Calculates the flattened shape with the min, max, and opt
-
- 07 Dec, 2022 1 commit
-
-
Charlie Lin authored
Extends the Argmax operator to handle dynamic input shapes. Only shape function changes
-
- 06 Dec, 2022 1 commit
-
-
Charlie Lin authored
Extends unsqueeze and squeeze to work for dynamic input shapes Does not handle the steps parameter Adds some additional negative axes shape tests
-
- 02 Dec, 2022 1 commit
-
-
Charlie Lin authored
Extends the pooling operators for dynamic shape inputs AveragePooling GlobalAveragePooling MaxPooling GlobalMaxPooling LpNormPooling GlobalLpNormPooling y.github.com>
-
- 28 Nov, 2022 1 commit
-
-
Charlie Lin authored
Extends ref transpose operator for dynamic shapes Make dynamic tests more consistent naming
-
- 17 Nov, 2022 1 commit
-
-
Charlie Lin authored
Extends the ref contiguous operator to handle dynamic shapes Updates the eliminate_contiguous pass to use the dyn_output struct
-
- 13 Nov, 2022 1 commit
-
-
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
-
- 13 Oct, 2022 2 commits
-
-
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.
-
Charlie Lin authored
Rewrites the TF batch norm like operators to other MIGX operators Removes the code related to batch_norm_inference
-
- 23 Aug, 2022 1 commit
-
-
Charlie Lin authored
Has NMS op output a dynamic shape (ONNX spec behavior) Allows for dynamic input shape to NMS op
-
- 04 Aug, 2022 1 commit
-
-
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:Chris Austen <causten@users.noreply.github.com>
-
- 08 Jul, 2022 1 commit
-
-
Charlie Lin authored
Initial sketch for changes to shape to handle dynamic dimensions
-
- 07 Jul, 2022 1 commit
-
-
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
-
- 22 Jun, 2022 1 commit
-
-
Ted Themistokleous authored
Updated each source file in the repo with the existing license.
-
- 04 Mar, 2022 1 commit
-
-
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.
-
- 03 Mar, 2022 1 commit
-
-
turneram authored
Add onnx parser and ref and gpu implementations of ONNX op ScatterND
-
- 16 Feb, 2022 1 commit
-
-
Umang Yadav authored
Support nonstandard shapes like slice, broadcast and transpose for the unsqueeze op
-
- 09 Feb, 2022 1 commit
-
-
Umang Yadav authored
Support slice, broadcast and transpose shapes for the squeeze op.
-
- 20 Oct, 2021 1 commit
-
-
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.
-
- 08 Oct, 2021 1 commit
-
-
Umang Yadav authored
Previously dot operator was defined as C = alpha * A . B + beta * C where * is scalar multiplication and . is dot product or matrix multiplication depending on dimension of the inputs. Aim is to have the definition of dot operator as C = A . B without having alpha or beta. In order to achieve the same effect as alpha and beta (1) it multiplies the one of the inputs to the dot operator with alpha value. (2) if beta is present then, multiplies the C with beta and then adds into the output from step 1.
-