- 22 Jul, 2023 1 commit
-
-
Charlie Lin authored
Throwing on these calls catches dynamic shape errors earlier rather than having to backpedal from a bad call
-
- 21 Jul, 2023 1 commit
-
-
Umang Yadav authored
Fixes #1746 BatchNorm only has x as the runtime input parameter for the following equation. All the other parameters are compile-time constants and related operations can be const-folded before quantizing to fp16 to preserve precision.
-
- 13 Jul, 2023 1 commit
-
-
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.
-
- 08 Jul, 2023 2 commits
-
-
Artur Wojcik authored
-
Artur Wojcik authored
Export API symbols for migraphx, migraphx_ref, migraphx_cpu, migrphx_gpu, migraphx_device, migraphx_tf, and migraphx_onnx. There is a separate PR for migrahx_c. API symbol exporting affects only Windows. It is transparent on Linux.
-
- 01 Jul, 2023 1 commit
-
-
Paul Fultz II authored
This will show the instructions that are inserted for each onnx operator. This should help debugging where certain instructions come from.
-
- 21 Jun, 2023 1 commit
-
-
Paul Fultz II authored
Co-authored-by:kahmed10 <15948690+kahmed10@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
-
- 08 Jun, 2023 1 commit
-
-
Paul Fultz II authored
Enable with MIGRAPHX_ENABLE_CK=1 and --exhaustive-tune tune flag
-
- 01 Jun, 2023 1 commit
-
-
Umang Yadav authored
By converting to fp32 : fp16 3d-unet model accuracy comes out the same as FP32 accuracy. By using reduce_sum method on Fp16 : accuracy comes out ~0.9% lower compared to fp32 while keeping entire model in fp16.
-
- 17 May, 2023 1 commit
-
-
Chris Austen authored
Move CI to support the rocm5.5 release
-
- 05 May, 2023 1 commit
-
-
kahmed10 authored
add option to print tf supported ops sort both onnx and tf ops alphabetically
-
- 17 Apr, 2023 1 commit
-
-
Charlie Lin authored
Fixes the above behavior This needs to be changed to allow for setting static shapes with map_dyn_input_dims since you cannot also use map_input_dims
-
- 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
-
- 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".
-
- 10 Feb, 2023 1 commit
-
-
Brian Pickrell authored
dyn shape support for Where operator. Includes shape test, ref_ops test, onx_test.
-
- 01 Feb, 2023 1 commit
-
-
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.
-
- 24 Jan, 2023 1 commit
-
-
kahmed10 authored
supports upper and lower trilu not able to support dynamic k values not able to support negative k values
-
- 21 Jan, 2023 1 commit
-
-
Charlie Lin authored
Adds support for parsing dynamic ONNX gemm bias input C
-
- 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
-
- 13 Jan, 2023 1 commit
-
-
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
-
- 11 Jan, 2023 1 commit
-
-
Charlie Lin authored
Fixes ONNX parsing of convolution to handle dynamic broadcasting of bias input
-
- 04 Jan, 2023 1 commit
-
-
Brian Pickrell authored
Implements dynamic shapes in reduce_op and all its child operator classes (reduce_max etc.)
-
- 13 Dec, 2022 1 commit
-
-
kahmed10 authored
-
- 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
-
- 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
-
- 01 Nov, 2022 1 commit
-
-
Ted Themistokleous authored
Newer split moves the split attribute to an input. In this case we check the number of input args then.
-
- 27 Oct, 2022 1 commit
-
-
Chris Austen authored
Upgraded Dockerfiles and fixed tidy issues to make Ubuntu 20.04 and ROCm 5.3.0 the default
-
- 14 Oct, 2022 1 commit
-
-
Charlie Lin authored
Allows for rank 2 tensors into batchnorm. Specifically when spatial dimensions are all 1 and removed
-
- 13 Oct, 2022 1 commit
-
-
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.
-
- 26 Sep, 2022 1 commit
-
-
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
-
- 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
-
- 08 Aug, 2022 1 commit
-
-
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:
charlie <charlie.lin@amd.com> Co-authored-by:
kahmed10 <15948690+kahmed10@users.noreply.github.com>
-
- 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>
-