- 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 3 commits
-
-
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
-
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 1 commit
-
-
Charlie Lin authored
No major changes required, use dyn_output and pass dynamic shape when calling compute_shape() Adds dynamic shape tests
-
- 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 2 commits
-
-
Charlie Lin authored
Fix problem with the contiguous operator constructing non-standard shape literals. A non-standard literal will almost never be used, since a literal is known at compile time. Added some comments on the intended behavior: - literal{shape, vector} constructor with a non-standard shape is intended to keep the same ordering as the given vector. The data buffer will be populated such that when the non-standard indexing is used the original order is as given. - literal{shape, argument} constructor directly copies the data buffer from the argument - Changed non-standard literal fill() to use tensor_view iterators as it handles non-standard shapes now - Changed the contiguous ref_ops_test to be more helpful -
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
-
- 27 Oct, 2022 2 commits
-
-
Chris Austen authored
Upgraded Dockerfiles and fixed tidy issues to make Ubuntu 20.04 and ROCm 5.3.0 the default
-
kahmed10 authored
updated GPU pad to now use JIT version. added range functions for JIT kernels.
-
- 19 Oct, 2022 1 commit
-
-
Charlie Lin authored
Refactor dynamic compute - add a compute_output_shape object that implicitly converts to a new dyn_output or shape object - dyn_output object can handle computing the static output shape of an operator given the input arguments shapes change an operator's compute function to argument compute(const dyn_output& dyn_out, std::vector<argument> args) to use dyn_output object Dynamic ref unary functions - Included these changes to have an example of the refactored dynamic compute being used - Changes to unary base class to handle dynamic shapes - Changed elu and leaky_relu to use unary base class and pointwise JIT
-
- 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
-
- 26 Sep, 2022 1 commit
-
-
Paul Fultz II authored
Upgrade cppcheck to 2.9
-
- 06 Sep, 2022 1 commit
-
-
Paul Fultz II authored
Using not and or improves readability. The cppcheck rule will help ensure we are doing it consistently.
-
- 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>
-
- 25 Jul, 2022 1 commit
-
-
Ted Themistokleous authored
* Add in changes for onnx Mod operator Initial operator for mod implementation and test cases for integer and floating based types. Need to use fmod from stdlib for floating point types. half_float::half thankfully is specced to the use the existing std::fmod() call when looking at the half.hpp implementation. fmod_flag should mirror the onnx fmod attribute. Right now using a floating point type without setting that on the user side to true will result in an exception. Ref ticket #1283
-
- 29 Jun, 2022 1 commit
-
-
Charlie Lin authored
Allows PyTorch converted version of SSD-resnet34 to work
-
- 22 Jun, 2022 1 commit
-
-
Ted Themistokleous authored
Updated each source file in the repo with the existing license.
-
- 29 Apr, 2022 1 commit
-
-
turneram authored
Add ref and gpu implementations for ONNX op GatherND Resolves #1032
-
- 19 Apr, 2022 1 commit
-
-
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
-
- 11 Apr, 2022 1 commit
-
-
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.
-
- 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
-
- 02 Mar, 2022 1 commit
-
-
Charlie Lin authored
Implements the IsNaN operator, ref, gpu, and onnx parser.
-
- 25 Nov, 2021 1 commit
-
-
Shucai Xiao authored
Resolves a problem in parsing the ssd-10 model. The problem is, after inserting contiguous in the auto_contiguous pass, standard output shape of some operators becomes non-standard. Then, if the next operator requires standard input shape, an exception is throw. For example, if we pass the following model: Input (standard shape) -> transpose (transposed) -> softmax (transposed) -> transpose (standard) -> gather. It works fine, and no contiguous is required. In the auto_contiguous pass, a contiguous is inserted after the first transpose. Then we need to replace the first transpose with the contiguous and recompute all shapes. When it comes to the gather operator, its input is a transposed shape, and an exception is thrown. The solution is in the recompute_shape() function. If it is called by the auto_contiguous pass and shape of an instruction is changed, and the shape is non_standard, we do not recompute shape of its output. The reason is: since its output shape is non_standard, a contiguous op will be added after the instruction, which will recompute shape for later operators.
-
- 28 Oct, 2021 1 commit
-
-
Shucai Xiao authored
This PR is the ref implementation of the nonmaxsuppression operator. It always returns the max possible output shape, which is the problem tracked in issue #948.
-
- 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.
-