Age | Commit message (Collapse) | Author |
|
Rationale for making this change:
- In the original design, for control flow operators like WhileOp,
child blocks couldn't read the tensor variables (global consts) in the root level block,
this patch added the machanism for child blocks to access their parent
level block's tensors.
- This change also relies on another serialization change on adding
another layer of abtraction called Region:
- Serialization patch: [region] Add TosaSerializationRegion to serialization_lib
- Updated the corresponding python version of the serialization code: TosaSerializerRegion to python version of serialization_lib
- This change also relies on the TOSA MLIR Translator change: Add RegionBuilder to TOSA MLIR Translator
- Added the WhileOp related test cases: While, LSTM, GRU, RNN
- Other related fixes
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I13ae33628ad07e41d248e88652ce1328654694ab
|
|
* Upgrade Eigen to 3.4.0 (for bfloat16 support) and add work-
arounds for reduce.any() and reduce.all() bugs (introduced
between 3.3.7 and 3.4.0)
* Truncation to bfloat16 now performed in eval() methods
Signed-off-by: James Ward <james.ward@arm.com>
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: If5f5c988d76d3d30790acf3b97081726b89205fe
|
|
Validate tensor arguments
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Iac398f2c3e600944c6f65c3d8433bd17095f820b
|
|
Update tensor operations naming to state input type as TxT in
all cases. Effects CONV2D, CONV3D, DEPTHWISE_CONV2D,
FULLY_CONNECTED, TRANSPOSE_CONV2D.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Ic959acfcb3aa0a910b33b774a5a85fac08219205
|
|
Improve base inference conformance generation:
* Change to target specific dtypes required for conformance tests.
* Reduce dimension sizes of ERROR_IF tests.
NOTE: Will impact tensor, clamp and all ERROR_IF tests.
Add option to change seed on conformance generation for extra
testing.
Stop creation of convolution tests with negative output dimensions.
Improve reporting on failing to allocate tensor due to above issue.
Fix runner to correctly pass ref model debug flags.
Update reference_model examples.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I992180dcfe265a7d50edfb151c9f38eeaef5c369
|
|
Change-Id: I72f21fcfa153046274969d327313e3349981dbe6
Signed-off-by: James Ward <james.ward@arm.com>
|
|
Any needed information moves into the attributes for each operator.
New serialization library version removes teh quantization information
attributes from the schema
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Icf6165687ab1fd34a01f64c01b0b92b2820e72fa
|
|
- Also delay tensor allocation after operator being validated
ERROR_IF can be caught first before 0 or negative dimension set the graph_status to UNPREDICTABLE
- Rescale, Argmax, FullyConnected, Matmul, Pad, Reshape, Slice, Transpose, Clamp, Concat, Equal, Greater, GreaterEqual, Table
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: I4e1b3e5794fe195ce1a37e28443ae584645a3b91
|
|
- comparison ops could have different type of input/output
- add SUBGRAPH_ERROR_IF() when operator doesn't have any output tensor
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: I10f2c10f92de1c7a979221a421fa8e86b26fcc72
|
|
- Elementwise unary op input/output type should match.
- TOSA_UNPREDICTABLE should ONLY be sent when a tensor with negative dimension is read/written
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: I689518933a2b56cd62793e3f28ea66a6e57b057c
|
|
- Also replace SIMPLE_FATAL_ERROR() with FATAL_ERROR() since they're duplicate
- Replace FATAL_ERROR()/ASSERT_MSG() with ERROR_IF_SUBGRAPH() if the condition is a graph error
FATAL_ERROR()/ASSERT() should only be used by model internal/runtime error like file reading.
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: If1e1e2488054a0ecd800fb0f2ea6487019282500
|
|
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: Ic16e918b1a2423ad563684e29ce70d9efdbf9c02
|
|
or ERROR_IF()
- Adding return code enum class: {VALID, UNPREDICTABLE, ERROR}
- Runtime errors (e.g. memory allocation failure) will abort immediately, or will return one of the three return codes
Part of the codes are re-written to pass REQUIRE() to the top-level (e.g. apply_scale_32/16())
- Update setExpectedFailure() to setExpectedReturnCode() on test generation script
- Update test regression script to interface with reference model change
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: Ia063c936bcb2a54d6e379a5bb6801aa72d1186f1
|
|
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: I61620f160c7dad6aac5fcc3da0a6e97f3bae5b40
|
|
- Constant tensors are now initialized from embedded u8 array instead from numpy.
- Python unit test generator and built-in test hasn't been updated.
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: I5cb86f8e5ec8f23fee5dcbf257874a0f204ede04
|
|
Change-Id: Iac786eff96183938d2fd11cde9313c6e8e1270a5
|
|
- remove identityN and placeholder
- add div
- update serialization_lib hash
- update apply_scale_16() assertion
- regenerate examples/ due to serialization_lib change
Change-Id: I7183d92bec33697c65adfc07cb8eb89c6882675a
|
|
- Remove Usage and Format
- Run black on verif/*.py scripts
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: Ie81515891eb0039540f614894f4b6b0e0e78ba74
|
|
Usage arrays
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: Iefa2959996871d06b766dadbc4cba601e2e739fe
|
|
Change-Id: I2f8e7fa63e2ae40203e57d2cc8814bde3b312cb6
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|