aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-18More ERROR_IF supportsKevin Cheng
- 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
2021-10-18Add Negative tests for pad, reshape, slice, transposeMatthew Haddon
Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I659337aadfd0498bf88a95737f69c51efec797cc
2021-10-18Add negative testing support to fully_connected, matmul, argmaxMatthew Haddon
Change-Id: I75f2a4ab6790dcbdfaec064f42f601d8f44da70b Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-10-18Add negative testing support to RESCALEMatthew Haddon
* Negative tests for rescale op added Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I70aead1c6a67f159c7b7c9a05f7d5f0b92521584
2021-10-14Remove tosa_serializer.py and use the one from serialization_lib now.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Idd12aab4d52365f3137a403d362790abc16e66d0
2021-10-13Catch ERROR_IF on AVG_POOL2D and MAX_POOL2DKevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I0947f136e768605f997fcaf74c6b9a7e62e748a4
2021-10-12COND_IF int8, int16 testsLes Bell
Change-Id: Id1c2d2a41bdfff6b3fe45f79bf99abd0b5beb704 Signed-off-by: Les Bell <les.bell@arm.com>
2021-10-12Add negative testing for avg_pool2d, max_pool2dMatthew Haddon
* Negative tests for ERROR_IFs given in spec * Constrict dimension size of latter ranks if rank is larger than 4 Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: Iffea1874e876dba83c8a7c63049283bf7b3ba74b
2021-10-11Add negative testing support for reduce operatorsMatthew Haddon
* Negative testing support added for the following operators: reduce_all, reduce_any, reduce_max, reduce_min, reduce_product, reduce_sum Change-Id: Ife4f0307b681510e8910a23a39efc127c82ae120 Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-10-11Fix rank and dtype filtering for ops like conv3d & fully_connectedJeremy Johnson
Change-Id: Ic2aebe40b5cce61d4576a64f4f48ff87b36475c2 Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
2021-10-07Add negative testing support for ew_unary operatorsMatthew Haddon
* Added negative testing support for the following operators: abs, bitwise_not, ceil, clz, exp, floor, log, logical_not, negate, reciprocal, rsqrt Change-Id: Icc6f146c6407502520330678420951749ba2a9ef Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-10-07Add negative testing support to (most) EW Binary OpsMatthew Haddon
* Negative testing support for the following operators: ADD, BITWISE_AND, BITWISE_OR, BITWISE_XOR, INTDIV, LOGICAL_AND, LOGICAL_LEFT_SHIFT, LOGICAL_RIGHT_SHIFT, LOGICAL_OR, LOGICAL_XOR, MAXIMUM, MINIMUM, POW, SUB Change-Id: I2271f00b0b619604e864e36e4a4f987f1b2a37d4 Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-10-07Add ERROR_IF checks for mismatched batch/channelMatthew Haddon
Change-Id: I7c670c5f9b97a18a6f586b16f31bc9fc301f6bc3 Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-10-07Separate positive and negative test generation and refactorMatthew Haddon
* Positive and negative tests are now produced entirely in isolation, if 'both' test types are chosen all positive tests are generated, then all the negative tests are generated, without combining the two * Moved tensor generation out of serialize test and into it's own function Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: Id8e9023d2c2966a0b14ae83d2d848a66cb125fcb
2021-10-07Fix shape generation with num-const-inputs-concat optionJeremy Johnson
Change-Id: I2a0aa63a4256629d12166638812dc5b854db2ddf Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
2021-10-06Fix reduction ERROR_IF casesKevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Id0e4ec849a9cf94c9fb04ca999738cc164dbb669
2021-10-05Couple of reference model fixesKevin Cheng
- 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
2021-10-04Add shared ERROR_IF statementsMatthew Haddon
* Added WrongInputType and WrongOutputType checks * Delete and Add extra inputs/outputs when doing op graph checks * Add incorrect rank checks * Entire op dictionary is now passed to build functions * Error if validation now done in separate function * Duplicate tests are ignored Change-Id: Ie1117bdbc9bdeb42059123792ce1df4cc56db54e Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-10-01Fix CONST test.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Iea91076f3e0673ce5adfcca247d968416023fa58
2021-09-30Fixes to pass NEGATE op test.Kevin Cheng
- 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
2021-09-30Add SUBGRAPH_ERROR_IF() to catch graph-level error.Kevin Cheng
- 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
2021-09-30Remove duplicate output tensor in cond_if_binary testKevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Ic0c4bd1a55c6782aeacb77163a3a093edb86d437
2021-09-28Remove ReluN op.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Iaac727159a84de1f83de549c3a22704096f46bf9
2021-09-28Removing rank 0 broadcast in binary op.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I14bec5020c91f7abd6c1adc31068a22961330a97
2021-09-27Op that violates rank requirement now runs to the end and return ERROR ↵Kevin Cheng
instead of bailing out. Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I61e163cfdb54057f65dc967394decc3fad53eb89
2021-09-27Add ERROR_IF support for RESIZEMatthew Haddon
* TosaErrorValidator implemented to produce and test for ERROR_IF conditions * RESIZE specific ERROR_IF test support added * Set rank and type parameters before test generation loop to avoid multiple checks for valid parameters * Increase output dimensions if IFM/OFM ratio smaller than 1/16 Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I430e13383d99c2e25354f53d3703fb9be973f6d4
2021-09-24Extended tests for 2D/3D tensor functionsLes Bell
* larger values for stride/padding/dilation/kernel * sparse test generation, as there are too many variations Signed-off-by: Les Bell <les.bell@arm.com> Change-Id: If13ea17024d81262ab892e3111cbf5833e77a8c5
2021-09-23Add stride larger than dimension error_if check for resizeMatthew Haddon
Change-Id: Ib70f6bdbfacfe125283821f1e3858542b05c60ad Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
2021-09-22Unit test runner ergonomicsJared Smolens
- Catch and classify as INTERNAL_ERROR unix signals thrown by reference model - Made -t a required argument Change-Id: I2be1ed6f5c1e862d6a3aee43c6b1e8575ab50d1f Signed-off-by: Jared Smolens <jared.smolens@arm.com>
2021-09-20Add maximum dimension check ERROR_IF in RESIZE.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Iccbabe4298de4bd681115e273c16c48ea6d3028e
2021-09-20Compatibility with flatbuffers 1.12.0 and 2.0.0Jared Smolens
- Update the serialization code to work with both flatbuffers 1.12.0 and 2.0.0 APIs Change-Id: If41da785a2ab756de94b523d04358489ef01d603 Signed-off-by: Jared Smolens <jared.smolens@arm.com>
2021-09-16Generate more CONV3D testsLes Bell
* plus extra debug info for some exceptions Change-Id: I667ee9b8a1cba8c6bd47c31231f1805eba680ba5 Signed-off-by: Les Bell <les.bell@arm.com>
2021-09-16Implement Conv3D kernel.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: Ic16e918b1a2423ad563684e29ce70d9efdbf9c02
2021-09-15Rename attribute: Pool2d, Conv2d, TransposeConv2d -> Pool, Conv, TransposeConvKevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I466dd1dcf5230e8e07df202ba88515e775e04a1e
2021-09-15Add a top level license fileEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I98a6b05622dd88e5e3fe1b7ec79d67ae803e6c2d
2021-09-15Fix for ADD/SUB saturation in testsJeremy Johnson
Change-Id: I4f05b256f4f439f72e5ee8bce60e4e92b6aaa6e7 Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
2021-09-14Fix while_loop test.Kevin Cheng
- add output tensor to main block - fix bug where tensor cannot serialize list of const data Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I40b96d634642e24e6fae6fa3ad6846f5911005f7
2021-09-14Add saturation REQUIREs for ADD,SUB,MUL,INTDIVJeremy Johnson
Change-Id: I358fbd4c958e057687f25d585eb8fdd80fd9ae42 Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
2021-09-08Remove invalid tests from test generatorMatthew Haddon
* Implemented InvalidValidator to remove existing invalid tests. * Removed invalid tests for resize, rescale, conv2d, depthwise_conv2d, transpose_conv2d, avg_pool2d, and max_pool2d (note default avg/max_pool never produced negative tests, but theoretically could). * Changed behaviour of computerMultiplierAndShift to produce the allowed range of shift values. Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I5e7b11030deb5322e2ca08fd4f4467fb02b7740d
2021-09-08Allow user to specify test type generatedMatthew Haddon
* The option --test-type allows the user to select 'positive', 'negative', or 'both' types of tests produced by the test generator. * Reset RNG when looping through negative test generation (generation not implemented) Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I1bfcb3170e7380be0f98b36b3d4abc4779a05abe
2021-09-07Fix batch size if target shape set for SCATTER operatorMatthew Haddon
* max batch size ignored if target shape is set * W size reduced if large input tensor used Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I13472ab768fa93a1d0b9e28964f56ec4a06dbdfd
2021-08-31Rename DIV operator to INTDIVMatthew Haddon
* In line with the TOSA spec the DIV operator has been renamed INTDIV Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I1dc6e88220ef26b24487675600b6cd1e5bb8b0f7
2021-08-31Set TILE multiple to one if input dimension is largeMatthew Haddon
* Sets multiple of input dimension to one if the dimension of the input tensor is large to reduce ouput tensor size. Change-Id: I2ebcecf438282de032a33e0cf4b3847cbf94440d
2021-08-25Restore expectedFailure to test description filesJared Smolens
- Updated example tests, added missing npy files - Updated README file with fields in desc.json Change-Id: I5651ed5260866a8381adf620fb6dd6405cb2833b
2021-08-20Replace node level check ASSERT_MSG_NODE()/FATAL_ERROR_NODE() with REQUIRE() ↵Kevin Cheng
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
2021-08-20Make MATMUL output shape randomMatthew Haddon
* Currently when a target shape is specified, the W value of the input tensor is always equal to N, this is not the case when no target shape is defined. * A random value for W is generated every time. Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I8f8ecb32308cef4a1ece1871f76ebbd5f0cf881f
2021-08-19Produce Concat tests with multiple input tensorsMatthew Haddon
* Concat tests now contain between 2 and 5 input tensors concatenated together * Both input and const tensors are used as inputs to the operator * Option to add in const tensor inputs (this is slow), defaults to original behaviour Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I2a0cc622d31aceab8d24521668d0aae040ba73b1
2021-08-12Support int4 weights read. Added conv2d int8xint4 in test generation.Kevin Cheng
Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I61620f160c7dad6aac5fcc3da0a6e97f3bae5b40
2021-08-12test gen PAD agPad fix to cover all pad valuesLes Bell
* encode pad in the test name with leading zeros Change-Id: I7b1cc04014d390e707de099c5f78f93f5f344d69 Signed-off-by: Les Bell <les.bell@arm.com>
2021-08-12Add support for UINT8Matthew Haddon
* RESCALE can now produce tests with UINT8 as the input/output datatype. Signed-off-by: Matthew Haddon <matthew.haddon@arm.com> Change-Id: I0a5d7b3c6dd7c2501d14e5d558b1f18e5e967fa9