- 27 Oct, 2022 1 commit
-
-
Ted Themistokleous authored
- Added cases to handle error cases of invalid splits for split-11 and split-13 - should solve issue with code coverage.
-
- 26 Oct, 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. This changes allows us to move the accumulte check to outside each conditional branch Added more debug on this as well to show more details on this failure mode. Adds an additional test case using a generated split-13 operator styled test.
-
- 21 Oct, 2022 2 commits
-
-
Ted Themistokleous authored
-
Ted Themistokleous authored
- Initial fix to handle scalars on input for empty constant values - Using scalar, multibroadcast, contiguous - Fixed appropriate unit tests for simple single output constants - Added unit tests for multi if outputs. - TODO - multibroadcast to handle scalar so we don't use scalar
-
- 20 Oct, 2022 1 commit
-
-
Ted Themistokleous authored
Adding test to validate what a "valid" multi input should look like and that we correctly handle trailing 1s and correctly sized outputs. Generated and added the two tests from gen_onnx.py with matching test in onnx_test.cpp -if_then_else_multi_output_shapes_test.onnx -if_then_else_multi_output_shapes_test2.onnx
-
- 18 Oct, 2022 5 commits
-
-
Ted Themistokleous authored
-
Ted Themistokleous authored
outline seems to be bugged, and going to be depreciated, thus switching to creating a new literal with the proper shape for the empty output branch.
-
Ted Themistokleous authored
-make all_but_last_dims_equal func instead of lambda -rename dim_delta -> rank_delta -make unsqueeze_last_op func instead of lambda -Handle multi output cases of changing output instructions -capture shape at each output shape at start of loop via .at() operator -replace instances of && with and
-
Ted Themistokleous authored
This test should error out as, having different output shapes for each branch with one non empty is invalid. Changes to gen_onnx.py as well as generated onnx file provided
-
Ted Themistokleous authored
Add the testcase and onnx file generated to handle the case of two output shapes that vary in rank by one, with a trailing 1 but sub lengths are not equivalent
-
- 17 Oct, 2022 4 commits
-
-
Ted Themistokleous authored
This should be flagged as an error always for static inputs
-
Ted Themistokleous authored
- added changes to gen_onnx.py for different type, shape, and incompatible lens - added test cases that should except in onnx_test.cpp
-
Ted Themistokleous authored
- gen_onnx.py changes for onnx output of empty const input branches (seen in resnext50) - updated onnx_test.cpp to validate parsing of input. - new onnx files generated from onnx tests
-
Ted Themistokleous authored
- Handle checks for each IF output - add const to inputs of all_but_last_dims_equal - add std::equal instead of using equal - Use .back() for vectors in getting last value - Use input().front() instead of prev(prev()) when replacing the last value.
-
- 15 Oct, 2022 1 commit
-
-
Ted Themistokleous authored
-
- 14 Oct, 2022 7 commits
-
-
Ted Themistokleous authored
-
Ted Themistokleous authored
-
Ted Themistokleous authored
Check which shape is larger and adjust the check using equals so we never have the option of going out of range with different sizes outside of the smaller vector.
-
Ted Themistokleous authored
- rename then/else_shapes -> then/else_lens - change assert for shape size to reusing throw() - return lengths in handle_empty_branch - use handle_empty_branch return value for lens update - use std::prev() instead of predecriment operator for modifying nodes
-
Charlie Lin authored
Allows for rank 2 tensors into batchnorm. Specifically when spatial dimensions are all 1 and removed
-
Umang Yadav authored
-
Ted Themistokleous authored
Outline of an empty branch is correct typically seen if we parse in an empty constant for the other side of the if then/else onnx logic. Need to do this to match shape even though the other branch is just empty.
-
- 13 Oct, 2022 10 commits
-
-
Ted Themistokleous authored
Just clean up the logic on this so we're not 5 levels deep on ifs.
-
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.
-
Ted Themistokleous authored
- use empty() instead of size() == 0 for checking each condition - Make each branch a lambda instead of repeating code.
-
Charlie Lin authored
Rewrites the TF batch norm like operators to other MIGX operators Removes the code related to batch_norm_inference
-
Ted Themistokleous authored
-
Ted Themistokleous authored
Hand verified results before running test using random data generated from the new protobuf files for this. Everything is correctly functionally within tolerances. Had to readjust input sizes to that of the .onnx file as one input is deliberately made smaller (without the trailing 1) for theses tests to test the case correctly
-
Ted Themistokleous authored
Fixes test which verifies how we interpret vectors with trailing ones, between input branches to an IF module block.
-
Ted Themistokleous authored
Update test for new generated onnx file, as well as using unsqueeze output for when we parse in a network with mismatched shapes with a trailing 1
-
Ted Themistokleous authored
Inverted logic when I wrote generated statements for these. Regenerated files
-
Ted Themistokleous authored
Fixes cases for trailing one testcases
-
- 12 Oct, 2022 2 commits
-
-
Ted Themistokleous authored
This makes sure we're getting the correct output value of the branch if an empty shape is given as a parameter to the IF operand.
-
Ted Themistokleous authored
-
- 08 Oct, 2022 1 commit
-
-
Ted Themistokleous authored
- Gets past to the split section of the resnext model - adding outline seems to solve if issues but verify calls broken - Referencing wrong element now instead of output of correct if block? - Need to determine proper output through verify tests. - Modified protobuf to handle case of extra 1 to "vectorize" scalar - Modified verify/tests to get things to "work", may need to be revised further.
-
- 07 Oct, 2022 2 commits
-
-
Ted Themistokleous authored
Simplified algebraic operations (x*1), x*(-1), x/1, 0+x & x+0, x-0, 0-x, 0*x, x*0, and 0/x operations
-
Ted Themistokleous authored
- Update if_then/else_empty test protobuff and cases - Need to update rand() vector used - Make y empty instead of x for if_else_empty_test.onnx - Regenerate protobufs with updates - Add changes to handle empty/scalar input branch size to if operator. - Add case where if both branches empty throw an error. - Update verify tests with gold vectors and new shapes for empty input vec which we handle like a scalar before broadcasting
-
- 05 Oct, 2022 2 commits
-
-
Ted Themistokleous authored
- Verification tests that test each then/else branches for parsed IF operator - Testing empty shape tensors for one branch -> output must be the other branch's shape - Testing trailing 1 shape for one branch -> output must be union of both inputs Current issue with IF operator is that we can't handle training vectors that match in size correclty while also running into issues with empty inputs for one of the branches for size/type checks.
-
Ted Themistokleous authored
This seemed to be missing, just leveraging the existing protobuf made to test parsing of if_then_test.onnx for this and using the tensor of all ones to default to an ADD operation to ensure cond =1 is being handled and parsed in correctly.
-
- 04 Oct, 2022 1 commit
-
-
Ted Themistokleous authored
Still busted work in prgoress. Keep running into terminate called after throwing an instance of 'migraphx::version_1::exception' what(): /code/AMDMIGraphX/src/normalize_attributes.cpp:91: tune_attribute: TUNE_VECTOR: value out of range! Aborted (core dumped)
-