Age | Commit message (Collapse) | Author |
|
This patch implements changes required by the new acc_type field in
ConvAttribute and TransposeConvAttribute
Signed-off-by: Tai Ly <tai.ly@arm.com>
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Ib13dbeec4d8920e0ddbcca02b727e7277f2c8d62
|
|
This implements changes due to ClampAttribute and PadAttribute
field changes.
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: Ide01e2a27fe3c1ea7794e7a4b6780b7eae436caf
|
|
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I7efc03f16136b2b74f8dfef79a6e7e147c93f4ed
|
|
Added support to ref model and testing
Signed-off-by: evacha01 <evan.chandler@arm.com>
Change-Id: Iece53d07c8986332fdd8f1ce5ed6265349df1b6a
|
|
This patch implements changes required for RescaleOp's
multiplier and shift changing from attributes to inputs
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I178919727e3220c749dad0ebce141e695868fee0
|
|
- Add Tosa Sin/Cos operators to reference_model
- Add conformances tests
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I3f597ddf5dac2c64d6dd6aa15781b40b8468eaa6
|
|
Always create the shift as a tensor for all types in testing.
In the reference model, set the shift operand to be available for
all types, but only read in the shift tensor for i32.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
Change-Id: Ia267cbf8b63ca0a9c97b38e8fb4db83eeb8c0538
|
|
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I55f663c19a1d2579d24b25c7f0d476e56e7e6dd2
|
|
This patch adjusts reference model for attribute name changes in
tosa.fb schema, and for obsoleted slice/tile/reshape attributes
also updated examples due to the breaking tosa flatbuffers changes
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I105eb99a4c35f289c5078aed0a7f9cbb6dfe9123
|
|
This patch implements changes needed for resize op's
scale/offset/border changing from attributes to inputs
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I20db0687fad40711f3ded644af51096292dd05b3
|
|
also check if tensors of start and size are allocated.
Change-Id: I6a72d11ebcb8d0725fe267058dfd792102459427
Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
|
|
Right shift result on i32_t data type only, i.e. other data types
don't carry the shift operand.
In the spec, the shift type is a tensor in MT profile and is an
attribute in BI/MI profiles. Currently we treat the shift as tensor
throughout.
In implementation, since `ternaryExpr` is not implemented in Eigen,
decompose the original calculation into multiply and shift operation
seperately, and execute them via `binaryExpr`.
Change-Id: I349f4969545134ac5f13bc83032cd75cca3e7ba0
Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
|
|
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I99b70f94aff2ccd4af64875697e124eb60bc5b08
|
|
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I365da379f599e5eca1841e6d299b4005a7b0f082
|
|
Correct ref model to produce imaginery values of zero as specification
indicates at certain output positions.
Fix up precise and abs modes for RFFT2D in ref model to produce correct
results and bounds using abs weights.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I33767e4219a260278f7933f28b1799223a95a3cc
|
|
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I8f7678706e517d7f8d9742dcddd0ea5875b30a00
|
|
Improve access to DOT_PRODUCT generator index and location for debugging.
Enable multiple result files for compliance and improve output.
Fix up precise and abs modes for FFT2D in ref model to produce correct results
and bounds using abs weights.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Ide0c9f9f80397e5f1e07ca30a1036d6014b5784d
|
|
This offers dynamism support for slice op.
Change-Id: I4521c072c663a01e03e575e0cbbc8671c832f646
Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
|
|
Changed to use pad input of PadOp for testing.
The pad input is now a tensor of tosa.shape type.
moved padding error checking from checkTensorAttributes to eval
modified pad's PadOutputShapeMismatch test generation to avoid
generating output shapes with dimensions <= 0
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I437c86d9a012903458a648667f6693db67b97d76
|
|
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: Id37100ba8bc2ac64b1f54788c6f765fedfab0816
|
|
- fixed up reshape conformance tests to use shape input instead of attribute
- fixed up tile conformance tests to use shape input instead of attribute
- fixed output and output rank of dim op
- allow rank 0 and rank 1 tensors for tosa.shape values (for shape = {})
- added initialization of rank 0 const_shape tensors (for shape = {})
- Update conformance tests to use new rescale attributes
Signed-off-by: Tai Ly <tai.ly@arm.com>
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I6cce0d2a9ab066fe20a2abf9d2cfde3eb3d8c18b
|
|
int8/int16 should be used for the clamping, not int32_t
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I18209ca76cc83d95dc61f20f88344aafdbd72033
|
|
Add lower bound to ABS ERROR checks to allow for cancellation of
small values in error bounds checking.
Re-adjust the error bounds multiplier to match the specification.
Fix up naming of verify library info structs.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I3e178c3d7d59fef9c3696178646b23ed2a3ffc61
|
|
- For Casting from Float to Integers, if the input float is greater
than INT_MAX, an overflow will happen when calling rint which causes the
clipplings to be ineffectives
- Moved all the range checks and clippings before rint to avoid this
issue
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: Ic189d59685b6d36464e3ef26766665148a660a14
|
|
- With input of 2147483648.00, the output overflows to -2147483648
- The root cause is the following:
- std::rint still returns float, the existing implementation is
forcing a cast from that float to int32_t
- when the input is over INT32_MAX, the output right after rint will
overflow which casues the clipplings later to be ineffective
- Instead, perform the range check before rint
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: Ib5a8cfd98aea17e326f8b11097beeb2d2b3efac9
|
|
Test generation changed to only produce static reshape tests
Reference model changed to produce ERROR_IF on inferred shapes
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I92c92a40e7c0e457961bc654630040dff79a750b
|
|
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I35d14e3e9f80198c1da3d267f12bc7a9a055e698
|
|
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I3555e7216d403d436bf6e39d4b16bb000645c4bb
|
|
Use platform agnostic format specifiers for `int64_t`.
Change-Id: I002d94c1a0c0431ec09fc165a584a8f4b3ddc17d
Signed-off-by: Jack Frankland <jack.frankland@arm.com>
|
|
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Icf04afc7fdae8f506ba4710aaa085d6ea53bb5bf
|
|
The bias operand of the fully connected operator must be a 1D tensor
either equal to the output channel size or of size 1. Previously we
asserted the former case, we now include the second case.
Signed-off-by: Jack Frankland <jack.frankland@arm.com>
Change-Id: I07dbc8a3aa1650703e5c50e1e7f36bb9539fd5db
|
|
- Add a new command line option to allow users to specify a custom
defined dll library
- Add a custom registry to store all registered libraries
- Add a dummy example (custom_op_example.cpp) for demonstrating this new
feature
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I7c360835933f77e33fcbd772cabfe01d82282d47
|
|
Added new ABS_ERROR mode to verify lib and ref model.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: Ifb78290675833d3df7df91a4d6cef336b02b64a4
|
|
Add support for local_bound attributes.
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: Ie1acb65ca2495fb7d1512bf120568c695635d631
|
|
CONST data should be either data in the flatbuffer file or loaded
in via an input file. This check catches if neither of these have
been done, instead of marking uninitialized data as valid.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I97dc2254f0b58c05c39cc0281a331a394c2a4b3c
|
|
Signed-off-by: James Ward <james.ward@arm.com>
Change-Id: I414899d0f504af00da185e0fc4119f3bde2bae3a
|
|
- Nested looping instead of using Eigen extract_image_patches to avoid OOM errors
Signed-off-by: James Ward <james.ward@arm.com>
Change-Id: Id4d78d5b5dd04a00134f29b1d29f814195515b1f
|
|
Align with the change in the spec.
Define idiv_floor to give equivalent behavior to the floating-point
floor function for image coordinate calculation.
Change-Id: Ice06d354d58b1bb0dfedab55c9cc9eac1598b50c
Signed-off-by: TatWai Chong <tatwai.chong@arm.com>
|
|
input_unsigned and output_unsigned were added to the specification.
Older TOSA files with uint data types are still supported.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I125886ffc92975d99971e56e2075dd5d96bdbdc4
|
|
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: Iea11ee5d3d98773e9c5e9b827593c05afb41ce3b
|
|
add support for bias broadcasting for operators:
- conv2d
- conv3d
- depthwise_conv2d
- transpose_conv2d
- fully_connected
could not add framework test for this because tf.nn.bias_add requires
bias size to match channel dimension.
manually tested reference model evaluation on tosa mlir with bias size
of 1
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I70d29d231a63fc03b10e3006cbd6b16b53cca1f2
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I22939e75a08349816a9c103eb7312edcec53855e
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I8645382983c257e5102982d487283560088e2d2a
|
|
- The previous ref_model was allocating the memory for all tensors in
the graph upfront which is unnecessary and wasteful.
- This patch changes to only allocate initial input tensors on the entry
point using the allocateInputTensor() function.
- The output tensors are ensured to have been allocated before executing
a node. The output tenosrs are the inputs for the next node.
- When a node's evaluation is finished, its input tensors will be freed
if they will no longer be used by anyone else.
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: Ibb3e8c9e6344f6cd9eb20532a03b2097b93247f9
|
|
- Also added run clang-format to pre-commit runs
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I4e59ac0afbaa30dce0773aa63d92a1a3b119e2f3
|
|
Would cause unresolved symbols to appear when building in
release mode.
There are a couple of minor compiler warning fixes as well.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I0f7e9a8771442a6e3c848edfe034ef534d0d8ca7
|
|
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: Ib42b867287b83a183a0d0fb1f1eb29974f58fae4
|
|
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I7460ad9eed3ed5c7cec6e855a0303753ed28eb1c
|
|
Comparison operators produce boolean outputs, which need to be written into client data
Allow subgraph traverser to use main block to look for tensors when serialization handler is missing
Signed-off-by: Jiacheng Liang <jiacheng.liang@arm.com>
Change-Id: I6f9af470185541fa6466b3f7786c48f1555fa6f6
|
|
This adds a second run of reference model under precise_mode
when test_desc.json contains a "compliance" dictionary which
contains a "mode" entry with value "dot product".
In this second run, abs_mode will be set to true, which causes:
1. evaluation will take absolute values of inputs for these operators:
conv2d, conv3d, depthwise_conv2d, fully_connected,
matmul, transpose_conv2d, fft2d, rfft2d
reduce_sum, avg_pool2d
2. output files will have prefix "bounds_" prepended to them
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I7070ecc7ead2d2ea3375c44663d653c6772b88e0
|