diff options
author | Chunseok Lee <chunseok.lee@samsung.com> | 2020-12-14 14:43:04 +0900 |
---|---|---|
committer | Chunseok Lee <chunseok.lee@samsung.com> | 2020-12-14 14:43:04 +0900 |
commit | 12d88feea8573f8490629cf62fc342b152e57d65 (patch) | |
tree | 3c734cc4d629834d2d523f4575ef84cd64684e57 /res/TensorFlowTests | |
parent | d6b371e095d737922187a518b8faba1ef6f3a2b1 (diff) | |
download | nnfw-12d88feea8573f8490629cf62fc342b152e57d65.tar.gz nnfw-12d88feea8573f8490629cf62fc342b152e57d65.tar.bz2 nnfw-12d88feea8573f8490629cf62fc342b152e57d65.zip |
Imported Upstream version 1.11.0upstream/1.11.0
Diffstat (limited to 'res/TensorFlowTests')
178 files changed, 6227 insertions, 64 deletions
diff --git a/res/TensorFlowTests/NET_0003/test.pbtxt b/res/TensorFlowTests/NET_0003/test.pbtxt index cf6b1a7db..3f146c033 100644 --- a/res/TensorFlowTests/NET_0003/test.pbtxt +++ b/res/TensorFlowTests/NET_0003/test.pbtxt @@ -106,12 +106,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "scale" diff --git a/res/TensorFlowTests/NET_0003/test.py b/res/TensorFlowTests/NET_0003/test.py index b5bad2dae..b5bad2dae 100644..100755 --- a/res/TensorFlowTests/NET_0003/test.py +++ b/res/TensorFlowTests/NET_0003/test.py diff --git a/res/TensorFlowTests/NET_0004/test.py b/res/TensorFlowTests/NET_0004/test.py index a0c790d79..a0c790d79 100644..100755 --- a/res/TensorFlowTests/NET_0004/test.py +++ b/res/TensorFlowTests/NET_0004/test.py diff --git a/res/TensorFlowTests/NET_0007/test.pbtxt b/res/TensorFlowTests/NET_0007/test.pbtxt index 10f9f35a5..6193c19b9 100644 --- a/res/TensorFlowTests/NET_0007/test.pbtxt +++ b/res/TensorFlowTests/NET_0007/test.pbtxt @@ -106,12 +106,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "mulparam" diff --git a/res/TensorFlowTests/NET_0008/test.manifest b/res/TensorFlowTests/NET_0008/test.manifest new file mode 100644 index 000000000..c7de34437 --- /dev/null +++ b/res/TensorFlowTests/NET_0008/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network that has "Conv2D" + "Add" diff --git a/res/TensorFlowTests/NET_0008/test.pbtxt b/res/TensorFlowTests/NET_0008/test.pbtxt index bbaba7ded..dc1407ddf 100644 --- a/res/TensorFlowTests/NET_0008/test.pbtxt +++ b/res/TensorFlowTests/NET_0008/test.pbtxt @@ -106,12 +106,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "addparam" diff --git a/res/TensorFlowTests/NET_0009/test.manifest b/res/TensorFlowTests/NET_0009/test.manifest new file mode 100644 index 000000000..80ba28f80 --- /dev/null +++ b/res/TensorFlowTests/NET_0009/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network that has "Conv2D" + "BiasAdd" + "Add" diff --git a/res/TensorFlowTests/NET_0009/test.pbtxt b/res/TensorFlowTests/NET_0009/test.pbtxt index a4eee69ae..719685c64 100644 --- a/res/TensorFlowTests/NET_0009/test.pbtxt +++ b/res/TensorFlowTests/NET_0009/test.pbtxt @@ -106,12 +106,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "BiasAdd/bias" diff --git a/res/TensorFlowTests/NET_0010/test.manifest b/res/TensorFlowTests/NET_0010/test.manifest new file mode 100644 index 000000000..74e63bcc8 --- /dev/null +++ b/res/TensorFlowTests/NET_0010/test.manifest @@ -0,0 +1 @@ +SUMMARY: "BiasAdd" + "Add" diff --git a/res/TensorFlowTests/NET_0025/circle_1.0_rel_requirement.rule b/res/TensorFlowTests/NET_0025/circle_1.0_rel_requirement.rule new file mode 100644 index 000000000..fc3f7af80 --- /dev/null +++ b/res/TensorFlowTests/NET_0025/circle_1.0_rel_requirement.rule @@ -0,0 +1,8 @@ +# tf2circle-dredd-pbtxt-test against CBR fusion + +RULE "VERIFY_FILE_FORMAT" $(verify_file_format) '=' 1 # 1 means verification is OK + +RULE "ALL_OP_COUNT" $(all_op_count) '=' 1 +RULE "OP_COUNT_CONV2D" $(op_count CONV_2D) '=' 1 +RULE "WEIGHT_CONST" $(conv2d_weight_not_constant) '=' 0 +RULE "FILE_SIZE" $(file_size) '<' 1040 # As of 191105, file size is 1016 diff --git a/res/TensorFlowTests/NET_0025/test.manifest b/res/TensorFlowTests/NET_0025/test.manifest new file mode 100644 index 000000000..99a2c81a0 --- /dev/null +++ b/res/TensorFlowTests/NET_0025/test.manifest @@ -0,0 +1 @@ +SUMMARY: Simple CBR(Conv2D + BiasAdd + ReLU) network diff --git a/res/TensorFlowTests/NET_0025/test.pbtxt b/res/TensorFlowTests/NET_0025/test.pbtxt index 9b3316dc4..e927864d8 100644 --- a/res/TensorFlowTests/NET_0025/test.pbtxt +++ b/res/TensorFlowTests/NET_0025/test.pbtxt @@ -105,12 +105,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D_bn_offset" diff --git a/res/TensorFlowTests/NET_0025/tflite_1.0_rel_requirement.rule b/res/TensorFlowTests/NET_0025/tflite_1.0_rel_requirement.rule new file mode 100644 index 000000000..11296c7d9 --- /dev/null +++ b/res/TensorFlowTests/NET_0025/tflite_1.0_rel_requirement.rule @@ -0,0 +1,8 @@ +# tf2tflite-dredd-pbtxt-test against NET_0025, which is CBR(Conv2D + BiasAdd + ReLU) network +# how to write a RULE: +# RULE rule_name rule_function(actual value) condition expected_value + +RULE "ALL_OP_COUNT" $(all_op_count) '=' 1 +RULE "OP_COUNT_CONV2D" $(op_count CONV_2D) '=' 1 +RULE "WEIGHT_CONST" $(conv2d_weight_not_constant) '=' 0 +RULE "FILE_SIZE" $(file_size) '<' 1040 # As of 191105, file size is 1016 diff --git a/res/TensorFlowTests/NET_0026/test.pbtxt b/res/TensorFlowTests/NET_0026/test.pbtxt index ea0262784..f579f3ef2 100644 --- a/res/TensorFlowTests/NET_0026/test.pbtxt +++ b/res/TensorFlowTests/NET_0026/test.pbtxt @@ -105,12 +105,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D_bn_offset" @@ -243,12 +237,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D_bn_offset" diff --git a/res/TensorFlowTests/NET_0027/test.pbtxt b/res/TensorFlowTests/NET_0027/test.pbtxt index af5fa9372..95780969b 100644 --- a/res/TensorFlowTests/NET_0027/test.pbtxt +++ b/res/TensorFlowTests/NET_0027/test.pbtxt @@ -105,12 +105,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D_bn_offset" @@ -243,12 +237,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D_bn_offset" @@ -348,12 +336,6 @@ node { } } } - attr { - key: "use_cudnn_on_gpu" - value { - b: true - } - } } node { name: "InceptionV3/Conv2d_2b_3x3/weights/read/_11__cf__11" diff --git a/res/TensorFlowTests/NET_0028/circle_1.0_rel_requirement.rule b/res/TensorFlowTests/NET_0028/circle_1.0_rel_requirement.rule new file mode 100644 index 000000000..30185e2b3 --- /dev/null +++ b/res/TensorFlowTests/NET_0028/circle_1.0_rel_requirement.rule @@ -0,0 +1,6 @@ +# tf2circle-dredd-pbtxt-test against Instance Norm fusion + +RULE "VERIFY_FILE_FORMAT" $(verify_file_format) '=' 1 # 1 means verification is OK + +RULE "ALL_OP_COUNT" $(all_op_count) '=' 1 +RULE "OP_COUNT_INSTANCE_NORM" $(op_count INSTANCE_NORM) '=' 1 diff --git a/res/TensorFlowTests/NET_0028/test.manifest b/res/TensorFlowTests/NET_0028/test.manifest new file mode 100644 index 000000000..64ca19d07 --- /dev/null +++ b/res/TensorFlowTests/NET_0028/test.manifest @@ -0,0 +1 @@ +SUMMARY: tf.contrib.layers.instance_norm diff --git a/res/TensorFlowTests/NET_0029/test.info b/res/TensorFlowTests/NET_0029/test.info new file mode 100644 index 000000000..9b3bf7d26 --- /dev/null +++ b/res/TensorFlowTests/NET_0029/test.info @@ -0,0 +1,5 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_1:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_2:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_3:0, TF_FLOAT, [1, 2, 3, 1] +output, concat_2:0, TF_FLOAT, [1, 2, 3, 4] diff --git a/res/TensorFlowTests/NET_0029/test.manifest b/res/TensorFlowTests/NET_0029/test.manifest new file mode 100644 index 000000000..33c689b98 --- /dev/null +++ b/res/TensorFlowTests/NET_0029/test.manifest @@ -0,0 +1 @@ +SUMMARY: Multiple concats only with same axes, which are consisted only with 2 inputs diff --git a/res/TensorFlowTests/NET_0029/test.pbtxt b/res/TensorFlowTests/NET_0029/test.pbtxt new file mode 100644 index 000000000..22d86d07a --- /dev/null +++ b/res/TensorFlowTests/NET_0029/test.pbtxt @@ -0,0 +1,254 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_1" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_2" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_3" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "concat/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat" + op: "ConcatV2" + input: "Placeholder" + input: "Placeholder_1" + input: "concat/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_1/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat_1" + op: "ConcatV2" + input: "concat" + input: "Placeholder_2" + input: "concat_1/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_2/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat_2" + op: "ConcatV2" + input: "concat_1" + input: "Placeholder_3" + input: "concat_2/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/NET_0030/circle_1.0_rel_requirement.rule b/res/TensorFlowTests/NET_0030/circle_1.0_rel_requirement.rule new file mode 100644 index 000000000..9f14051c3 --- /dev/null +++ b/res/TensorFlowTests/NET_0030/circle_1.0_rel_requirement.rule @@ -0,0 +1,7 @@ +# tf2circle-dredd-pbtxt-test against two Concat ops with same axis + +RULE "VERIFY_FILE_FORMAT" $(verify_file_format) '=' 1 # 1 means verification is OK + +RULE "ALL_OP_COUNT" $(all_op_count) '=' 1 +RULE "OP_COUNT_CONCATENATION" $(op_count CONCATENATION) '=' 1 +RULE "FILE_SIZE" $(file_size) '<=' 650 # real size is 616 as of 191105 diff --git a/res/TensorFlowTests/NET_0030/test.info b/res/TensorFlowTests/NET_0030/test.info new file mode 100644 index 000000000..09ae1ec6d --- /dev/null +++ b/res/TensorFlowTests/NET_0030/test.info @@ -0,0 +1,5 @@ +input, Placeholder:0, TF_FLOAT, [1, 1, 1, 1] +input, Placeholder_1:0, TF_FLOAT, [1, 1, 1, 2] +input, Placeholder_2:0, TF_FLOAT, [1, 1, 1, 3] +input, Placeholder_3:0, TF_FLOAT, [1, 1, 1, 4] +output, concat_1:0, TF_FLOAT, [1, 1, 1, 10] diff --git a/res/TensorFlowTests/NET_0030/test.manifest b/res/TensorFlowTests/NET_0030/test.manifest new file mode 100644 index 000000000..b0496d787 --- /dev/null +++ b/res/TensorFlowTests/NET_0030/test.manifest @@ -0,0 +1 @@ +SUMMARY: Multiple concats only with same axes, which are consisted with more than 2 inputs diff --git a/res/TensorFlowTests/NET_0030/test.pbtxt b/res/TensorFlowTests/NET_0030/test.pbtxt new file mode 100644 index 000000000..270920d9d --- /dev/null +++ b/res/TensorFlowTests/NET_0030/test.pbtxt @@ -0,0 +1,209 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_1" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "Placeholder_2" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Placeholder_3" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "concat/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat" + op: "ConcatV2" + input: "Placeholder_1" + input: "Placeholder_2" + input: "concat/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_1/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat_1" + op: "ConcatV2" + input: "Placeholder" + input: "concat" + input: "Placeholder_3" + input: "concat_1/axis" + attr { + key: "N" + value { + i: 3 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/NET_0031/test.info b/res/TensorFlowTests/NET_0031/test.info new file mode 100644 index 000000000..9c2d6364a --- /dev/null +++ b/res/TensorFlowTests/NET_0031/test.info @@ -0,0 +1,6 @@ +input, Placeholder:0, TF_FLOAT, [1, 1, 1, 1] +input, Placeholder_1:0, TF_FLOAT, [1, 1, 1, 1] +input, Placeholder_2:0, TF_FLOAT, [1, 1, 2, 1] +input, Placeholder_3:0, TF_FLOAT, [1, 1, 2, 2] +input, Placeholder_4:0, TF_FLOAT, [1, 1, 2, 4] +output, concat_3:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/NET_0031/test.manifest b/res/TensorFlowTests/NET_0031/test.manifest new file mode 100644 index 000000000..0bb09e5c1 --- /dev/null +++ b/res/TensorFlowTests/NET_0031/test.manifest @@ -0,0 +1 @@ +SUMMARY: Multiple concats with different axes. Concats with same axes are non-terminal but possible to merge diff --git a/res/TensorFlowTests/NET_0031/test.pbtxt b/res/TensorFlowTests/NET_0031/test.pbtxt new file mode 100644 index 000000000..6c152ea5c --- /dev/null +++ b/res/TensorFlowTests/NET_0031/test.pbtxt @@ -0,0 +1,329 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_1" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_2" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_3" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "Placeholder_4" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "concat/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 2 + } + } + } +} +node { + name: "concat" + op: "ConcatV2" + input: "Placeholder" + input: "Placeholder_1" + input: "concat/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_1/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat_1" + op: "ConcatV2" + input: "concat" + input: "Placeholder_2" + input: "concat_1/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_2/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat_2" + op: "ConcatV2" + input: "concat_1" + input: "Placeholder_3" + input: "concat_2/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_3/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 1 + } + } + } +} +node { + name: "concat_3" + op: "ConcatV2" + input: "concat_2" + input: "Placeholder_4" + input: "concat_3/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/NET_0032/test.info b/res/TensorFlowTests/NET_0032/test.info new file mode 100644 index 000000000..d0f91d107 --- /dev/null +++ b/res/TensorFlowTests/NET_0032/test.info @@ -0,0 +1,7 @@ +# The number of final concat nodes should be 3 +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_1:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_2:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_3:0, TF_FLOAT, [1, 1, 3, 3] +input, Placeholder_4:0, TF_FLOAT, [1, 1, 3, 3] +output, concat_3:0, TF_FLOAT, [1, 2, 6, 3] diff --git a/res/TensorFlowTests/NET_0032/test.manifest b/res/TensorFlowTests/NET_0032/test.manifest new file mode 100644 index 000000000..714581b0c --- /dev/null +++ b/res/TensorFlowTests/NET_0032/test.manifest @@ -0,0 +1 @@ +SUMMARY: Multiple concats with different axes. Concats with same axes are terminal and possible to merge diff --git a/res/TensorFlowTests/NET_0032/test.pbtxt b/res/TensorFlowTests/NET_0032/test.pbtxt new file mode 100644 index 000000000..2ef2c587e --- /dev/null +++ b/res/TensorFlowTests/NET_0032/test.pbtxt @@ -0,0 +1,329 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_1" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_2" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_3" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Placeholder_4" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "concat/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat" + op: "ConcatV2" + input: "Placeholder" + input: "Placeholder_1" + input: "concat/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_1/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat_1" + op: "ConcatV2" + input: "concat" + input: "Placeholder_2" + input: "concat_1/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_2/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 1 + } + } + } +} +node { + name: "concat_2" + op: "ConcatV2" + input: "Placeholder_4" + input: "Placeholder_3" + input: "concat_2/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_3/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 2 + } + } + } +} +node { + name: "concat_3" + op: "ConcatV2" + input: "concat_1" + input: "concat_2" + input: "concat_3/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/NET_0033/test.info b/res/TensorFlowTests/NET_0033/test.info new file mode 100644 index 000000000..30a242554 --- /dev/null +++ b/res/TensorFlowTests/NET_0033/test.info @@ -0,0 +1,7 @@ +# The number of final concat node should be 3 +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_1:0, TF_FLOAT, [1, 2, 3, 1] +input, Placeholder_2:0, TF_FLOAT, [1, 2, 3, 2] +input, Placeholder_3:0, TF_FLOAT, [1, 2, 3, 2] +input, Placeholder_4:0, TF_FLOAT, [1, 2, 3, 2] +output, concat_3:0, TF_FLOAT, [1, 4, 6, 2] diff --git a/res/TensorFlowTests/NET_0033/test.manifest b/res/TensorFlowTests/NET_0033/test.manifest new file mode 100644 index 000000000..0c1ddcd4b --- /dev/null +++ b/res/TensorFlowTests/NET_0033/test.manifest @@ -0,0 +1 @@ +SUMMARY: Multiple concats with different axes. Concats with same axes are non-terminal and not possible to merge diff --git a/res/TensorFlowTests/NET_0033/test.pbtxt b/res/TensorFlowTests/NET_0033/test.pbtxt new file mode 100644 index 000000000..c43940f0b --- /dev/null +++ b/res/TensorFlowTests/NET_0033/test.pbtxt @@ -0,0 +1,329 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_1" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "Placeholder_2" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "Placeholder_3" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "Placeholder_4" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "concat/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 3 + } + } + } +} +node { + name: "concat" + op: "ConcatV2" + input: "Placeholder" + input: "Placeholder_1" + input: "concat/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_1/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 1 + } + } + } +} +node { + name: "concat_1" + op: "ConcatV2" + input: "concat" + input: "Placeholder_2" + input: "concat_1/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_2/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 1 + } + } + } +} +node { + name: "concat_2" + op: "ConcatV2" + input: "Placeholder_4" + input: "Placeholder_3" + input: "concat_2/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} +node { + name: "concat_3/axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 2 + } + } + } +} +node { + name: "concat_3" + op: "ConcatV2" + input: "concat_1" + input: "concat_2" + input: "concat_3/axis" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/NET_0034/test.info b/res/TensorFlowTests/NET_0034/test.info new file mode 100644 index 000000000..c3c5e2c7b --- /dev/null +++ b/res/TensorFlowTests/NET_0034/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, Sub:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/NET_0034/test.manifest b/res/TensorFlowTests/NET_0034/test.manifest new file mode 100644 index 000000000..3a49e0442 --- /dev/null +++ b/res/TensorFlowTests/NET_0034/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network that has "Conv2D" + "Sub" diff --git a/res/TensorFlowTests/NET_0034/test.pbtxt b/res/TensorFlowTests/NET_0034/test.pbtxt new file mode 100644 index 000000000..fec15368b --- /dev/null +++ b/res/TensorFlowTests/NET_0034/test.pbtxt @@ -0,0 +1,144 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 5 + } + } + } + } +} +node { + name: "weights" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 2 + } + dim { + size: 5 + } + dim { + size: 2 + } + } + float_val: 1.100000023841858 + } + } + } +} +node { + name: "Conv2D" + op: "Conv2D" + input: "Placeholder" + input: "weights" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "subparam" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + } + float_val: 2.0 + } + } + } +} +node { + name: "Sub" + op: "Sub" + input: "Conv2D" + input: "subparam" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0035/test.info b/res/TensorFlowTests/NET_0035/test.info new file mode 100644 index 000000000..67e44af48 --- /dev/null +++ b/res/TensorFlowTests/NET_0035/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 5, 5, 3] +output, out:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/NET_0035/test.manifest b/res/TensorFlowTests/NET_0035/test.manifest new file mode 100644 index 000000000..f9578c878 --- /dev/null +++ b/res/TensorFlowTests/NET_0035/test.manifest @@ -0,0 +1 @@ +SUMMARY: Conv2D + BiasAdd + ReLU6 network diff --git a/res/TensorFlowTests/NET_0035/test.pbtxt b/res/TensorFlowTests/NET_0035/test.pbtxt new file mode 100644 index 000000000..ae4913628 --- /dev/null +++ b/res/TensorFlowTests/NET_0035/test.pbtxt @@ -0,0 +1,161 @@ +node { + name: "kernel" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "conv2d" + op: "Conv2D" + input: "input:0" + input: "kernel" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "bias" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "biasadd" + op: "BiasAdd" + input: "conv2d" + input: "bias" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} +node { + name: "out" + op: "Relu6" + input: "biasadd" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0036/test.info b/res/TensorFlowTests/NET_0036/test.info new file mode 100644 index 000000000..42e88c141 --- /dev/null +++ b/res/TensorFlowTests/NET_0036/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 5, 5, 3] +output, relu:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/NET_0036/test.manifest b/res/TensorFlowTests/NET_0036/test.manifest new file mode 100644 index 000000000..820ab402b --- /dev/null +++ b/res/TensorFlowTests/NET_0036/test.manifest @@ -0,0 +1 @@ +SUMMARY: Conv2D + Add + ReLU where Add's Const operand is a scalar (size 1 tensor) diff --git a/res/TensorFlowTests/NET_0036/test.pbtxt b/res/TensorFlowTests/NET_0036/test.pbtxt new file mode 100644 index 000000000..3c9cdecd5 --- /dev/null +++ b/res/TensorFlowTests/NET_0036/test.pbtxt @@ -0,0 +1,146 @@ +# Conv2D and its inputs are borrowed from NET_0025. +node { + name: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + op: "Conv2D" + input: "input:0" + input: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "add_const" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { dim { size: 1 } } + float_val: 1.0 + } + } + } +} +node { + name: "add" + op: "Add" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + input: "add_const" + attr { + key: "T" + value { type: DT_FLOAT } + } +} +node { + name: "relu" + op: "Relu" + input: "add" + attr { + key: "T" + value { type: DT_FLOAT } + } +} diff --git a/res/TensorFlowTests/NET_0037/test.info b/res/TensorFlowTests/NET_0037/test.info new file mode 100644 index 000000000..42e88c141 --- /dev/null +++ b/res/TensorFlowTests/NET_0037/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 5, 5, 3] +output, relu:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/NET_0037/test.manifest b/res/TensorFlowTests/NET_0037/test.manifest new file mode 100644 index 000000000..b82ccb623 --- /dev/null +++ b/res/TensorFlowTests/NET_0037/test.manifest @@ -0,0 +1 @@ +SUMMARY: Conv2D + ReLU + Add diff --git a/res/TensorFlowTests/NET_0037/test.pbtxt b/res/TensorFlowTests/NET_0037/test.pbtxt new file mode 100644 index 000000000..674366fa6 --- /dev/null +++ b/res/TensorFlowTests/NET_0037/test.pbtxt @@ -0,0 +1,146 @@ +# Conv2D and its inputs are borrowed from NET_0025. +node { + name: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + op: "Conv2D" + input: "input:0" + input: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + attr { + key: "T" + value { type: DT_FLOAT } + } +} +node { + name: "add_const" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { dim { size: 1 } } + float_val: 1.0 + } + } + } +} +node { + name: "add" + op: "Add" + input: "relu" + input: "add_const" + attr { + key: "T" + value { type: DT_FLOAT } + } +} diff --git a/res/TensorFlowTests/NET_0038/test.info b/res/TensorFlowTests/NET_0038/test.info new file mode 100644 index 000000000..099f3d613 --- /dev/null +++ b/res/TensorFlowTests/NET_0038/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 11, 7, 3] +output, output/relu:0, TF_FLOAT, [1, 6, 4, 12] diff --git a/res/TensorFlowTests/NET_0038/test.manifest b/res/TensorFlowTests/NET_0038/test.manifest new file mode 100644 index 000000000..929125e7e --- /dev/null +++ b/res/TensorFlowTests/NET_0038/test.manifest @@ -0,0 +1 @@ +SUMMARY: DepthwiseConv2D + Relu diff --git a/res/TensorFlowTests/NET_0038/test.pbtxt b/res/TensorFlowTests/NET_0038/test.pbtxt new file mode 100644 index 000000000..b71e58f75 --- /dev/null +++ b/res/TensorFlowTests/NET_0038/test.pbtxt @@ -0,0 +1,121 @@ +# DepthwiseConv2dNative node is borrowed from UNIT_DepthwiseConv2dNative_000. +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 11 + } + dim { + size: 7 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "DepthwiseConv2dNative" + op: "DepthwiseConv2dNative" + input: "input" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} + +node { + name: "output/relu" + op: "Relu" + input: "DepthwiseConv2dNative" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0039/test.info b/res/TensorFlowTests/NET_0039/test.info new file mode 100644 index 000000000..73c44638d --- /dev/null +++ b/res/TensorFlowTests/NET_0039/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 11, 7, 3] +output, add:0, TF_FLOAT, [1, 6, 4, 12] diff --git a/res/TensorFlowTests/NET_0039/test.manifest b/res/TensorFlowTests/NET_0039/test.manifest new file mode 100644 index 000000000..783207476 --- /dev/null +++ b/res/TensorFlowTests/NET_0039/test.manifest @@ -0,0 +1 @@ +SUMMARY: DepthwiseConv2D + Add diff --git a/res/TensorFlowTests/NET_0039/test.pbtxt b/res/TensorFlowTests/NET_0039/test.pbtxt new file mode 100644 index 000000000..25f459943 --- /dev/null +++ b/res/TensorFlowTests/NET_0039/test.pbtxt @@ -0,0 +1,146 @@ +# DepthwiseConv2dNative node is borrowed from UNIT_DepthwiseConv2dNative_000. +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 11 + } + dim { + size: 7 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "DepthwiseConv2dNative" + op: "DepthwiseConv2dNative" + input: "input" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} + +node { + name: "add_const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 12 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "add" + op: "Add" + input: "DepthwiseConv2dNative" + input: "add_const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0040/test.info b/res/TensorFlowTests/NET_0040/test.info new file mode 100644 index 000000000..099f3d613 --- /dev/null +++ b/res/TensorFlowTests/NET_0040/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 11, 7, 3] +output, output/relu:0, TF_FLOAT, [1, 6, 4, 12] diff --git a/res/TensorFlowTests/NET_0040/test.manifest b/res/TensorFlowTests/NET_0040/test.manifest new file mode 100644 index 000000000..86bbc60c8 --- /dev/null +++ b/res/TensorFlowTests/NET_0040/test.manifest @@ -0,0 +1 @@ +SUMMARY: DepthwiseConv2D + BiasAdd + Relu diff --git a/res/TensorFlowTests/NET_0040/test.pbtxt b/res/TensorFlowTests/NET_0040/test.pbtxt new file mode 100644 index 000000000..b35f676cb --- /dev/null +++ b/res/TensorFlowTests/NET_0040/test.pbtxt @@ -0,0 +1,164 @@ +# DepthwiseConv2dNative node is borrowed from UNIT_DepthwiseConv2dNative_000. +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 11 + } + dim { + size: 7 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "DepthwiseConv2dNative" + op: "DepthwiseConv2dNative" + input: "input" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} + +node { + name: "bias_const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 12 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "biasadd" + op: "BiasAdd" + input: "DepthwiseConv2dNative" + input: "bias_const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} + +node { + name: "output/relu" + op: "Relu" + input: "biasadd" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0041/test.info b/res/TensorFlowTests/NET_0041/test.info new file mode 100644 index 000000000..099f3d613 --- /dev/null +++ b/res/TensorFlowTests/NET_0041/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 11, 7, 3] +output, output/relu:0, TF_FLOAT, [1, 6, 4, 12] diff --git a/res/TensorFlowTests/NET_0041/test.manifest b/res/TensorFlowTests/NET_0041/test.manifest new file mode 100644 index 000000000..0e9adb9f5 --- /dev/null +++ b/res/TensorFlowTests/NET_0041/test.manifest @@ -0,0 +1 @@ +SUMMARY: DepthwiseConv2D + Sub (scalar) + Relu diff --git a/res/TensorFlowTests/NET_0041/test.pbtxt b/res/TensorFlowTests/NET_0041/test.pbtxt new file mode 100644 index 000000000..a328417d9 --- /dev/null +++ b/res/TensorFlowTests/NET_0041/test.pbtxt @@ -0,0 +1,158 @@ +# DepthwiseConv2dNative node is borrowed from UNIT_DepthwiseConv2dNative_000. +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 11 + } + dim { + size: 7 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "DepthwiseConv2dNative" + op: "DepthwiseConv2dNative" + input: "input" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} + +node { + name: "sub_scalar_const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "sub" + op: "Sub" + input: "DepthwiseConv2dNative" + input: "sub_scalar_const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} + +node { + name: "output/relu" + op: "Relu" + input: "sub" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0042/test.info b/res/TensorFlowTests/NET_0042/test.info new file mode 100644 index 000000000..04b13ad8f --- /dev/null +++ b/res/TensorFlowTests/NET_0042/test.info @@ -0,0 +1 @@ +output, pack/stack:0, TF_FLOAT, [4] diff --git a/res/TensorFlowTests/NET_0042/test.manifest b/res/TensorFlowTests/NET_0042/test.manifest new file mode 100644 index 000000000..79dcdbe71 --- /dev/null +++ b/res/TensorFlowTests/NET_0042/test.manifest @@ -0,0 +1 @@ +SUMMARY: Small network that extracts second, third value of input vector with StridedSlice operator, doubles it and reconstruct it with Pack operator. diff --git a/res/TensorFlowTests/NET_0042/test.pbtxt b/res/TensorFlowTests/NET_0042/test.pbtxt new file mode 100644 index 000000000..033b09edc --- /dev/null +++ b/res/TensorFlowTests/NET_0042/test.pbtxt @@ -0,0 +1,572 @@ +node { + name: "Shape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 1 + float_val: 5 + float_val: 5 + float_val: 64 + } + } + } +} +node { + name: "stack" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 0 + } + } + } +} +node { + name: "stack_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "stack_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "strided_slice" + op: "StridedSlice" + input: "Shape" + input: "stack" + input: "stack_1" + input: "stack_2" + attr { + key: "Index" + value { + type: DT_INT32 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "begin_mask" + value { + i: 0 + } + } + attr { + key: "ellipsis_mask" + value { + i: 0 + } + } + attr { + key: "end_mask" + value { + i: 0 + } + } + attr { + key: "new_axis_mask" + value { + i: 0 + } + } + attr { + key: "shrink_axis_mask" + value { + i: 1 + } + } +} +node { + name: "strided_slice_1/stack" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "strided_slice_1/stack_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 2 + } + } + } +} +node { + name: "strided_slice_1/stack_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "strided_slice_1" + op: "StridedSlice" + input: "Shape" + input: "strided_slice_1/stack" + input: "strided_slice_1/stack_1" + input: "strided_slice_1/stack_2" + attr { + key: "Index" + value { + type: DT_INT32 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "begin_mask" + value { + i: 0 + } + } + attr { + key: "ellipsis_mask" + value { + i: 0 + } + } + attr { + key: "end_mask" + value { + i: 0 + } + } + attr { + key: "new_axis_mask" + value { + i: 0 + } + } + attr { + key: "shrink_axis_mask" + value { + i: 1 + } + } +} +node { + name: "strided_slice_2/stack" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 2 + } + } + } +} +node { + name: "strided_slice_2/stack_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 3 + } + } + } +} +node { + name: "strided_slice_2/stack_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "strided_slice_2" + op: "StridedSlice" + input: "Shape" + input: "strided_slice_2/stack" + input: "strided_slice_2/stack_1" + input: "strided_slice_2/stack_2" + attr { + key: "Index" + value { + type: DT_INT32 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "begin_mask" + value { + i: 0 + } + } + attr { + key: "ellipsis_mask" + value { + i: 0 + } + } + attr { + key: "end_mask" + value { + i: 0 + } + } + attr { + key: "new_axis_mask" + value { + i: 0 + } + } + attr { + key: "shrink_axis_mask" + value { + i: 1 + } + } +} +node { + name: "mul/y" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 2 + } + } + } +} +node { + name: "mul" + op: "Mul" + input: "strided_slice_1" + input: "mul/y" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "add/y" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 0 + } + } + } +} +node { + name: "add" + op: "Add" + input: "mul" + input: "add/y" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "mul_1/y" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 2 + } + } + } +} +node { + name: "mul_1" + op: "Mul" + input: "strided_slice_2" + input: "mul_1/y" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "add_1/y" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 0 + } + } + } +} +node { + name: "add_1" + op: "Add" + input: "mul_1" + input: "add_1/y" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "pack/stack/3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 64 + } + } + } +} +node { + name: "pack/stack" + op: "Pack" + input: "strided_slice" + input: "add" + input: "add_1" + input: "pack/stack/3" + attr { + key: "N" + value { + i: 4 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "axis" + value { + i: 0 + } + } +} diff --git a/res/TensorFlowTests/NET_0043/test.info b/res/TensorFlowTests/NET_0043/test.info new file mode 100644 index 000000000..d4420e849 --- /dev/null +++ b/res/TensorFlowTests/NET_0043/test.info @@ -0,0 +1,2 @@ +input, input_shape:0, TF_FLOAT, [4] +output, add:0, TF_FLOAT, [] diff --git a/res/TensorFlowTests/NET_0043/test.manifest b/res/TensorFlowTests/NET_0043/test.manifest new file mode 100644 index 000000000..03cd50f89 --- /dev/null +++ b/res/TensorFlowTests/NET_0043/test.manifest @@ -0,0 +1 @@ +SUMMARY: Small network with zero dim size tensor diff --git a/res/TensorFlowTests/NET_0043/test.pbtxt b/res/TensorFlowTests/NET_0043/test.pbtxt new file mode 100644 index 000000000..178ac3608 --- /dev/null +++ b/res/TensorFlowTests/NET_0043/test.pbtxt @@ -0,0 +1,186 @@ +node { + name: "input_shape" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 4 + } + } + } + } +} +node { + name: "zeros" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + dim { + } + dim { + size: 512 + } + } + } + } + } +} +node { + name: "reshape/shape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + } + int_val: 1 + int_val: 0 + int_val: 8 + int_val: 64 + } + } + } +} +node { + name: "reshape1" + op: "Reshape" + input: "zeros" + input: "reshape/shape" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} +node { + name: "reshape2" + op: "Reshape" + input: "zeros" + input: "input_shape" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} +node { + name: "perm" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + } + int_val: 0 + int_val: 2 + int_val: 1 + int_val: 3 + } + } + } +} +node { + name: "transpose1" + op: "Transpose" + input: "reshape1" + input: "perm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tperm" + value { + type: DT_INT32 + } + } +} +node { + name: "transpose2" + op: "Transpose" + input: "reshape2" + input: "perm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tperm" + value { + type: DT_INT32 + } + } +} +node { + name: "add" + op: "Add" + input: "transpose1" + input: "transpose2" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_YUV_TO_RGB/circle.rule b/res/TensorFlowTests/NET_YUV_TO_RGB/circle.rule new file mode 100644 index 000000000..44d52aaff --- /dev/null +++ b/res/TensorFlowTests/NET_YUV_TO_RGB/circle.rule @@ -0,0 +1,5 @@ +# tf2circle-dredd-pbtxt-test for YUV to RGB conversion + +RULE "VERIFY_FILE_FORMAT" $(verify_file_format) '=' 1 # 1 means verification is OK + +RULE "ALL_OP_COUNT" $(all_op_count) '=' 3 diff --git a/res/TensorFlowTests/NET_YUV_TO_RGB/test.info b/res/TensorFlowTests/NET_YUV_TO_RGB/test.info new file mode 100644 index 000000000..92e150d86 --- /dev/null +++ b/res/TensorFlowTests/NET_YUV_TO_RGB/test.info @@ -0,0 +1,2 @@ +input, x:0, TF_FLOAT, [1, 4, 4, 3] +output, Identity:0, TF_FLOAT, [1, 4, 4, 3] diff --git a/res/TensorFlowTests/NET_YUV_TO_RGB/test.manifest b/res/TensorFlowTests/NET_YUV_TO_RGB/test.manifest new file mode 100644 index 000000000..3d4f7b98a --- /dev/null +++ b/res/TensorFlowTests/NET_YUV_TO_RGB/test.manifest @@ -0,0 +1 @@ +SUMMARY: YUV_TO_RGB test as a graph diff --git a/res/TensorFlowTests/NET_YUV_TO_RGB/test.pbtxt b/res/TensorFlowTests/NET_YUV_TO_RGB/test.pbtxt new file mode 100644 index 000000000..3296f9919 --- /dev/null +++ b/res/TensorFlowTests/NET_YUV_TO_RGB/test.pbtxt @@ -0,0 +1,184 @@ +node { + name: "x" + op: "Placeholder" + attr { + key: "_user_specified_name" + value { + s: "x" + } + } + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 4 + } + dim { + size: 4 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "kernel" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + } + tensor_content: "\000\000\200?\000\000\200?\000\000\200?\000\000\000\000\217\016\312\276M\r\002@\260\347\221?\242\243\024\277\000\000\000\000" + } + } + } +} +node { + name: "Tensordot/Reshape/shape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + } + tensor_content: "\020\000\000\000\003\000\000\000" + } + } + } +} +node { + name: "Tensordot/Reshape" + op: "Reshape" + input: "x" + input: "Tensordot/Reshape/shape" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} +node { + name: "Tensordot/MatMul" + op: "MatMul" + input: "Tensordot/Reshape" + input: "kernel" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "transpose_a" + value { + b: false + } + } + attr { + key: "transpose_b" + value { + b: false + } + } +} +node { + name: "Tensordot/shape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + } + tensor_content: "\001\000\000\000\004\000\000\000\004\000\000\000\003\000\000\000" + } + } + } +} +node { + name: "Tensordot" + op: "Reshape" + input: "Tensordot/MatMul" + input: "Tensordot/shape" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} +node { + name: "Identity" + op: "Identity" + input: "Tensordot" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +versions { + producer: 175 +} diff --git a/res/TensorFlowTests/NET_YUV_TO_RGB/test.py b/res/TensorFlowTests/NET_YUV_TO_RGB/test.py new file mode 100644 index 000000000..978976571 --- /dev/null +++ b/res/TensorFlowTests/NET_YUV_TO_RGB/test.py @@ -0,0 +1,14 @@ +#used to create test.pbtxt +# Version info +# - Tensorflow : 2.2.0 +# - Python : 3.7.7 + +import tensorflow as tf +# Construct a basic model. +root = tf.train.Checkpoint() +root.f = tf.function(lambda x: tf.image.yuv_to_rgb(x)) +# Create the concrete function. +input_data = tf.constant(1., shape=[1, 4, 4, 3]) +# dim = tf.constant(12,shape=[2]) +concrete_func = root.f.get_concrete_function(input_data) +tf.io.write_graph(concrete_func.graph.as_graph_def(), '.', 'test.pbtxt') diff --git a/res/TensorFlowTests/REGRESSION_0001/test.info b/res/TensorFlowTests/REGRESSION_0001/test.info new file mode 100644 index 000000000..76e76187c --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0001/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 3] +output, Add_2:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/REGRESSION_0001/test.manifest b/res/TensorFlowTests/REGRESSION_0001/test.manifest new file mode 100644 index 000000000..136452d3c --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0001/test.manifest @@ -0,0 +1 @@ +SUMMARY: Successive Broadcasted Add diff --git a/res/TensorFlowTests/REGRESSION_0001/test.pbtxt b/res/TensorFlowTests/REGRESSION_0001/test.pbtxt new file mode 100644 index 000000000..99d276c00 --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0001/test.pbtxt @@ -0,0 +1,59 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + dim { size: 3 } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 3 } + } + float_val: 1.1 + float_val: 2.2 + float_val: 3.3 + } + } + } +} +node { + name: "Add_1" + op: "Add" + input: "Placeholder" + input: "Const" + attr { + key: "T" + value { type: DT_FLOAT } + } +} +node { + name: "Add_2" + op: "Add" + input: "Add_1" + input: "Const" + attr { + key: "T" + value { type: DT_FLOAT } + } +} diff --git a/res/TensorFlowTests/REGRESSION_0002/test.info b/res/TensorFlowTests/REGRESSION_0002/test.info new file mode 100644 index 000000000..c3e16f6b2 --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0002/test.info @@ -0,0 +1,2 @@ +input, ifm:0, TF_FLOAT, [1, 5, 5, 3] +output, ofm:0, TF_FLOAT, [1, 4, 4, 2] diff --git a/res/TensorFlowTests/REGRESSION_0002/test.manifest b/res/TensorFlowTests/REGRESSION_0002/test.manifest new file mode 100644 index 000000000..55d2852ae --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0002/test.manifest @@ -0,0 +1 @@ +SUMMARY: Conv2d without dilation attribute is correct according documentation and should be compiled diff --git a/res/TensorFlowTests/REGRESSION_0002/test.pbtxt b/res/TensorFlowTests/REGRESSION_0002/test.pbtxt new file mode 100644 index 000000000..e5d60f855 --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0002/test.pbtxt @@ -0,0 +1,66 @@ +node { + name: "ifm" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 5 } + dim { size: 5 } + dim { size: 3 } + } + } + } +} +node { + name: "ker" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 2 } + dim { size: 2 } + dim { size: 3 } + dim { size: 2 } + } + float_val: 1.1 + } + } + } +} +node { + name: "ofm" + op: "Conv2D" + input: "ifm" + input: "ker" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/UI_0000/test.info b/res/TensorFlowTests/UI_0000/test.info new file mode 100644 index 000000000..2ce0c6d38 --- /dev/null +++ b/res/TensorFlowTests/UI_0000/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 5, 5, 3] +output, InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/UI_0000/test.manifest b/res/TensorFlowTests/UI_0000/test.manifest new file mode 100644 index 000000000..8e29c13ef --- /dev/null +++ b/res/TensorFlowTests/UI_0000/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong network (Kernel input of Conv2D is missing) to see error message diff --git a/res/TensorFlowTests/UI_0000/test.pbtxt b/res/TensorFlowTests/UI_0000/test.pbtxt new file mode 100644 index 000000000..f5539ee02 --- /dev/null +++ b/res/TensorFlowTests/UI_0000/test.pbtxt @@ -0,0 +1,112 @@ +node { + name: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 3 + } + } + } + } +} + +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + op: "Conv2D" + input: "input:0" +# +# intentionally, commented out +# input: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" +# + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UI_0001/test.info b/res/TensorFlowTests/UI_0001/test.info new file mode 100644 index 000000000..2ce0c6d38 --- /dev/null +++ b/res/TensorFlowTests/UI_0001/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 5, 5, 3] +output, InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/UI_0001/test.manifest b/res/TensorFlowTests/UI_0001/test.manifest new file mode 100644 index 000000000..4721034a0 --- /dev/null +++ b/res/TensorFlowTests/UI_0001/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong network : Cannot find a node whose name is used as an input of Conv2D diff --git a/res/TensorFlowTests/UI_0001/test.pbtxt b/res/TensorFlowTests/UI_0001/test.pbtxt new file mode 100644 index 000000000..167d7dcb9 --- /dev/null +++ b/res/TensorFlowTests/UI_0001/test.pbtxt @@ -0,0 +1,110 @@ +node { + name: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + op: "Conv2D" +# error ----- +# "nowhere:0" does not exist + input: "nowhere:0" + input: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UI_0002/test.info b/res/TensorFlowTests/UI_0002/test.info new file mode 100644 index 000000000..2ce0c6d38 --- /dev/null +++ b/res/TensorFlowTests/UI_0002/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 5, 5, 3] +output, InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/UI_0002/test.manifest b/res/TensorFlowTests/UI_0002/test.manifest new file mode 100644 index 000000000..182342655 --- /dev/null +++ b/res/TensorFlowTests/UI_0002/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong network : Conv2D and biasAdd has a same name diff --git a/res/TensorFlowTests/UI_0002/test.pbtxt b/res/TensorFlowTests/UI_0002/test.pbtxt new file mode 100644 index 000000000..e23acac41 --- /dev/null +++ b/res/TensorFlowTests/UI_0002/test.pbtxt @@ -0,0 +1,150 @@ +node { + name: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 5 + } + dim { + size: 5 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Duplicate_name" + op: "Conv2D" + input: "input_wrong:0" + input: "InceptionV3/Conv2d_1a_3x3/weights/read/_3__cf__3" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D_bn_offset" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "Duplicate_name" + op: "BiasAdd" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D_bn_offset" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} diff --git a/res/TensorFlowTests/UI_0003/test.info b/res/TensorFlowTests/UI_0003/test.info new file mode 100644 index 000000000..738d26831 --- /dev/null +++ b/res/TensorFlowTests/UI_0003/test.info @@ -0,0 +1,2 @@ +input, relu1:0, TF_FLOAT, [1, 2] +output, relu2:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0003/test.manifest b/res/TensorFlowTests/UI_0003/test.manifest new file mode 100644 index 000000000..2a6b32242 --- /dev/null +++ b/res/TensorFlowTests/UI_0003/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong network. Network without proper input (const or placeholder) diff --git a/res/TensorFlowTests/UI_0003/test.pbtxt b/res/TensorFlowTests/UI_0003/test.pbtxt new file mode 100644 index 000000000..4d5154e67 --- /dev/null +++ b/res/TensorFlowTests/UI_0003/test.pbtxt @@ -0,0 +1,22 @@ +node { + name: "relu1" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "relu2" + op: "Relu" + input: "relu1" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0004/test.info b/res/TensorFlowTests/UI_0004/test.info new file mode 100644 index 000000000..5988da939 --- /dev/null +++ b/res/TensorFlowTests/UI_0004/test.info @@ -0,0 +1,2 @@ +input, not_existing_input:0, TF_FLOAT, [1, 2] +output, relu:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0004/test.manifest b/res/TensorFlowTests/UI_0004/test.manifest new file mode 100644 index 000000000..be3d615f8 --- /dev/null +++ b/res/TensorFlowTests/UI_0004/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Input name in info file does not exist in pb file. diff --git a/res/TensorFlowTests/UI_0004/test.pbtxt b/res/TensorFlowTests/UI_0004/test.pbtxt new file mode 100644 index 000000000..d4b7ee125 --- /dev/null +++ b/res/TensorFlowTests/UI_0004/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0005/test.info b/res/TensorFlowTests/UI_0005/test.info new file mode 100644 index 000000000..6759094c3 --- /dev/null +++ b/res/TensorFlowTests/UI_0005/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2] +output, not_existing_output_name:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0005/test.manifest b/res/TensorFlowTests/UI_0005/test.manifest new file mode 100644 index 000000000..7075344ab --- /dev/null +++ b/res/TensorFlowTests/UI_0005/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Output name in info file does not exist in pb file. diff --git a/res/TensorFlowTests/UI_0005/test.pbtxt b/res/TensorFlowTests/UI_0005/test.pbtxt new file mode 100644 index 000000000..d4b7ee125 --- /dev/null +++ b/res/TensorFlowTests/UI_0005/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0006/test.info b/res/TensorFlowTests/UI_0006/test.info new file mode 100644 index 000000000..bdf764eab --- /dev/null +++ b/res/TensorFlowTests/UI_0006/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT +output, relu:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0006/test.manifest b/res/TensorFlowTests/UI_0006/test.manifest new file mode 100644 index 000000000..e0ea9b331 --- /dev/null +++ b/res/TensorFlowTests/UI_0006/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Missing input shape. diff --git a/res/TensorFlowTests/UI_0006/test.pbtxt b/res/TensorFlowTests/UI_0006/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0006/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0007/test.info b/res/TensorFlowTests/UI_0007/test.info new file mode 100644 index 000000000..ad84e8d38 --- /dev/null +++ b/res/TensorFlowTests/UI_0007/test.info @@ -0,0 +1 @@ +input, Placeholder:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0007/test.manifest b/res/TensorFlowTests/UI_0007/test.manifest new file mode 100644 index 000000000..94fdce5f8 --- /dev/null +++ b/res/TensorFlowTests/UI_0007/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. No output in info file diff --git a/res/TensorFlowTests/UI_0007/test.pbtxt b/res/TensorFlowTests/UI_0007/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0007/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0008/test.info b/res/TensorFlowTests/UI_0008/test.info new file mode 100644 index 000000000..94815a520 --- /dev/null +++ b/res/TensorFlowTests/UI_0008/test.info @@ -0,0 +1,3 @@ +input, Placeholder:0, TF_FLOAT, [1, 2] +output, relu:0, TF_FLOAT, [1, 2] +output, relu:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0008/test.manifest b/res/TensorFlowTests/UI_0008/test.manifest new file mode 100644 index 000000000..858aae672 --- /dev/null +++ b/res/TensorFlowTests/UI_0008/test.manifest @@ -0,0 +1 @@ +SUMMARY: Multiple output names in info file that have same name diff --git a/res/TensorFlowTests/UI_0008/test.pbtxt b/res/TensorFlowTests/UI_0008/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0008/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0009/test.info b/res/TensorFlowTests/UI_0009/test.info new file mode 100644 index 000000000..8e78a07b9 --- /dev/null +++ b/res/TensorFlowTests/UI_0009/test.info @@ -0,0 +1,2 @@ +input, Placeholder:1, TF_FLOAT, [1, 2] # Placeholder:1 does not exist in the model +output, Placeholder:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0009/test.manifest b/res/TensorFlowTests/UI_0009/test.manifest new file mode 100644 index 000000000..78ed75108 --- /dev/null +++ b/res/TensorFlowTests/UI_0009/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Index of input tensor name is wrong in info file diff --git a/res/TensorFlowTests/UI_0009/test.pbtxt b/res/TensorFlowTests/UI_0009/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0009/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0010/test.info b/res/TensorFlowTests/UI_0010/test.info new file mode 100644 index 000000000..c8da7cc3e --- /dev/null +++ b/res/TensorFlowTests/UI_0010/test.info @@ -0,0 +1,2 @@ +input Placeholder:0, TF_FLOAT, [1, 2] +output, relu:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0010/test.manifest b/res/TensorFlowTests/UI_0010/test.manifest new file mode 100644 index 000000000..598164e32 --- /dev/null +++ b/res/TensorFlowTests/UI_0010/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Missing comma after 'input'. diff --git a/res/TensorFlowTests/UI_0010/test.pbtxt b/res/TensorFlowTests/UI_0010/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0010/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0011/test.info b/res/TensorFlowTests/UI_0011/test.info new file mode 100644 index 000000000..96cca79b9 --- /dev/null +++ b/res/TensorFlowTests/UI_0011/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0 TF_FLOAT, [1, 2] +output, relu:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0011/test.manifest b/res/TensorFlowTests/UI_0011/test.manifest new file mode 100644 index 000000000..b0938eb5c --- /dev/null +++ b/res/TensorFlowTests/UI_0011/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Missing comma after input name. diff --git a/res/TensorFlowTests/UI_0011/test.pbtxt b/res/TensorFlowTests/UI_0011/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0011/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UI_0012/test.info b/res/TensorFlowTests/UI_0012/test.info new file mode 100644 index 000000000..b04feac4b --- /dev/null +++ b/res/TensorFlowTests/UI_0012/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT [1, 2] +output, relu:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UI_0012/test.manifest b/res/TensorFlowTests/UI_0012/test.manifest new file mode 100644 index 000000000..e5765aa37 --- /dev/null +++ b/res/TensorFlowTests/UI_0012/test.manifest @@ -0,0 +1 @@ +SUMMARY: Wrong info file. Missing comma after dtype. diff --git a/res/TensorFlowTests/UI_0012/test.pbtxt b/res/TensorFlowTests/UI_0012/test.pbtxt new file mode 100644 index 000000000..5806251fb --- /dev/null +++ b/res/TensorFlowTests/UI_0012/test.pbtxt @@ -0,0 +1,34 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Concat_000/test.info b/res/TensorFlowTests/UNIT_ConcatV2_000/test.info index 9ea940f2a..9ea940f2a 100644 --- a/res/TensorFlowTests/UNIT_Concat_000/test.info +++ b/res/TensorFlowTests/UNIT_ConcatV2_000/test.info diff --git a/res/TensorFlowTests/UNIT_Concat_000/test.pbtxt b/res/TensorFlowTests/UNIT_ConcatV2_000/test.pbtxt index 77dbea792..77dbea792 100644 --- a/res/TensorFlowTests/UNIT_Concat_000/test.pbtxt +++ b/res/TensorFlowTests/UNIT_ConcatV2_000/test.pbtxt diff --git a/res/TensorFlowTests/UNIT_Concat_001/test.info b/res/TensorFlowTests/UNIT_ConcatV2_001/test.info index e2add430f..e2add430f 100644 --- a/res/TensorFlowTests/UNIT_Concat_001/test.info +++ b/res/TensorFlowTests/UNIT_ConcatV2_001/test.info diff --git a/res/TensorFlowTests/UNIT_Concat_001/test.pbtxt b/res/TensorFlowTests/UNIT_ConcatV2_001/test.pbtxt index ac3e85581..ac3e85581 100644 --- a/res/TensorFlowTests/UNIT_Concat_001/test.pbtxt +++ b/res/TensorFlowTests/UNIT_ConcatV2_001/test.pbtxt diff --git a/res/TensorFlowTests/UNIT_Concat_002/test.info b/res/TensorFlowTests/UNIT_ConcatV2_002/test.info index 460093bd5..460093bd5 100644 --- a/res/TensorFlowTests/UNIT_Concat_002/test.info +++ b/res/TensorFlowTests/UNIT_ConcatV2_002/test.info diff --git a/res/TensorFlowTests/UNIT_Concat_002/test.pbtxt b/res/TensorFlowTests/UNIT_ConcatV2_002/test.pbtxt index 9a524040a..9a524040a 100644 --- a/res/TensorFlowTests/UNIT_Concat_002/test.pbtxt +++ b/res/TensorFlowTests/UNIT_ConcatV2_002/test.pbtxt diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.info b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.info new file mode 100644 index 000000000..dfed0e296 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.info @@ -0,0 +1,2 @@ +input, ifm:0, TF_FLOAT, [1, 8, 6, 3] +output, ofm:0, TF_FLOAT, [1, 17, 13, 2] diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.manifest b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.manifest new file mode 100644 index 000000000..eae8d4baa --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.manifest @@ -0,0 +1 @@ +SUMMARY: VALID padding / tight fit case diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.pbtxt new file mode 100644 index 000000000..6cb0cb71c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_000/test.pbtxt @@ -0,0 +1,136 @@ +node { + name: "ifm" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 8 + } + dim { + size: 6 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "weights" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 2 + } + dim { + size: 3 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "outshape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + } + int_val: 1 + int_val: 17 + int_val: 13 + int_val: 2 + } + } + } +} +node { + name: "ofm" + op: "Conv2DBackpropInput" + input: "outshape" + input: "weights" + input: "ifm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.info b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.info new file mode 100644 index 000000000..130931836 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.info @@ -0,0 +1,2 @@ +input, ifm:0, TF_FLOAT, [1, 8, 6, 3] +output, ofm:0, TF_FLOAT, [1, 18, 14, 2] diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.manifest b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.manifest new file mode 100644 index 000000000..8a1df46a5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.manifest @@ -0,0 +1 @@ +SUMMARY: VALID padding and non-tight output shape diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.pbtxt new file mode 100644 index 000000000..0c6b3be84 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_002/test.pbtxt @@ -0,0 +1,136 @@ +node { + name: "ifm" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 8 + } + dim { + size: 6 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "weights" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 2 + } + dim { + size: 3 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "outshape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + } + int_val: 1 + int_val: 18 + int_val: 14 + int_val: 2 + } + } + } +} +node { + name: "ofm" + op: "Conv2DBackpropInput" + input: "outshape" + input: "weights" + input: "ifm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "dilations" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt index 3649aa827..f537cf4a6 100644 --- a/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt +++ b/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt @@ -69,8 +69,4 @@ node { list { i: 1 i: 1 i: 1 i: 1 } } } - attr { - key: "use_cudnn_on_gpu" - value { b: false } - } } diff --git a/res/TensorFlowTests/UNIT_Conv2D_001/test.info b/res/TensorFlowTests/UNIT_Conv2D_001/test.info new file mode 100644 index 000000000..2b6d73e5b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_001/test.info @@ -0,0 +1,2 @@ +input, ifm:0, TF_FLOAT, [1, 5, 5, 3] +output, ofm:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/UNIT_Conv2D_001/test.manifest b/res/TensorFlowTests/UNIT_Conv2D_001/test.manifest new file mode 100644 index 000000000..34c89b172 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_001/test.manifest @@ -0,0 +1 @@ +SUMMARY: One convolution operation with SAME padding, and [2, 2] strides diff --git a/res/TensorFlowTests/UNIT_Conv2D_001/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2D_001/test.pbtxt new file mode 100644 index 000000000..6eb539be8 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_001/test.pbtxt @@ -0,0 +1,72 @@ +node { + name: "ifm" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 5 } + dim { size: 5 } + dim { size: 3 } + } + } + } +} +node { + name: "ker" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 2 } + dim { size: 2 } + dim { size: 3 } + dim { size: 2 } + } + float_val: 1.1 + } + } + } +} +node { + name: "ofm" + op: "Conv2D" + input: "ifm" + input: "ker" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "dilations" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } + attr { + key: "padding" + value { s: "SAME" } + } + attr { + key: "strides" + value { + list { i: 1 i: 2 i: 2 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Conv2D_002/test.info b/res/TensorFlowTests/UNIT_Conv2D_002/test.info new file mode 100644 index 000000000..8f1dbd45a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_002/test.info @@ -0,0 +1,3 @@ +# conv2d with VALID, stride = 2, 2 +input, ifm:0, TF_FLOAT, [1, 5, 5, 3] +output, ofm:0, TF_FLOAT, [1, 2, 2, 2] diff --git a/res/TensorFlowTests/UNIT_Conv2D_002/test.manifest b/res/TensorFlowTests/UNIT_Conv2D_002/test.manifest new file mode 100644 index 000000000..fcabfa148 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_002/test.manifest @@ -0,0 +1 @@ +SUMMARY: One convolution operation with VALID padding, and [2, 2] strides diff --git a/res/TensorFlowTests/UNIT_Conv2D_002/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2D_002/test.pbtxt new file mode 100644 index 000000000..ae2eb364d --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_002/test.pbtxt @@ -0,0 +1,72 @@ +node { + name: "ifm" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 5 } + dim { size: 5 } + dim { size: 3 } + } + } + } +} +node { + name: "ker" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 2 } + dim { size: 2 } + dim { size: 3 } + dim { size: 2 } + } + float_val: 1.1 + } + } + } +} +node { + name: "ofm" + op: "Conv2D" + input: "ifm" + input: "ker" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "dilations" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 2 i: 2 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.info b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_000/test.info index 96a2b1403..96a2b1403 100644 --- a/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.info +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_000/test.info diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.pbtxt b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_000/test.pbtxt index 1d8fcaa00..1d8fcaa00 100644 --- a/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.pbtxt +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_000/test.pbtxt diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.info b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_001/test.info index c17595388..c17595388 100644 --- a/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.info +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_001/test.info diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.pbtxt b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_001/test.pbtxt index 9a9717611..9a9717611 100644 --- a/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.pbtxt +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2dNative_001/test.pbtxt diff --git a/res/TensorFlowTests/UNIT_Maximum_000/test.info b/res/TensorFlowTests/UNIT_Maximum_000/test.info new file mode 100644 index 000000000..f8f74e382 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Maximum_000/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 1] +input, input_02:0, TF_FLOAT, [1, 3, 3, 1] +output, maximum:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_Maximum_000/test.pbtxt b/res/TensorFlowTests/UNIT_Maximum_000/test.pbtxt new file mode 100644 index 000000000..9ab81b52b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Maximum_000/test.pbtxt @@ -0,0 +1,70 @@ +node { + name: "input_01" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "input_02" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "maximum" + op: "Maximum" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Maximum_001/test.info b/res/TensorFlowTests/UNIT_Maximum_001/test.info new file mode 100644 index 000000000..24dc2be07 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Maximum_001/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 5] +input, input_02:0, TF_FLOAT, [1, 1, 1, 5] +output, maximum:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Maximum_001/test.pbtxt b/res/TensorFlowTests/UNIT_Maximum_001/test.pbtxt new file mode 100644 index 000000000..29e90ab2f --- /dev/null +++ b/res/TensorFlowTests/UNIT_Maximum_001/test.pbtxt @@ -0,0 +1,70 @@ +node { + name: "input_01" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 5 + } + } + } + } +} +node { + name: "input_02" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 1 + } + dim { + size: 5 + } + } + } + } +} +node { + name: "maximum" + op: "Maximum" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Maximum_002/test.info b/res/TensorFlowTests/UNIT_Maximum_002/test.info new file mode 100644 index 000000000..44ddd085a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Maximum_002/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 5] +input, input_02:0, TF_FLOAT, [5] +output, maximum:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Maximum_002/test.pbtxt b/res/TensorFlowTests/UNIT_Maximum_002/test.pbtxt new file mode 100644 index 000000000..ca4ae80de --- /dev/null +++ b/res/TensorFlowTests/UNIT_Maximum_002/test.pbtxt @@ -0,0 +1,61 @@ +node { + name: "input_01" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 3 + } + dim { + size: 5 + } + } + } + } +} +node { + name: "input_02" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 5 + } + } + } + } +} +node { + name: "maximum" + op: "Maximum" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_MirrorPad_000/test.info b/res/TensorFlowTests/UNIT_MirrorPad_000/test.info new file mode 100644 index 000000000..c6db4607f --- /dev/null +++ b/res/TensorFlowTests/UNIT_MirrorPad_000/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 3, 2, 4] +output, MirrorPad:0, TF_FLOAT, [1, 3, 4, 9] diff --git a/res/TensorFlowTests/UNIT_MirrorPad_000/test.manifest b/res/TensorFlowTests/UNIT_MirrorPad_000/test.manifest new file mode 100644 index 000000000..06e7567c2 --- /dev/null +++ b/res/TensorFlowTests/UNIT_MirrorPad_000/test.manifest @@ -0,0 +1 @@ +SUMMARY: A network that has MirrorPad with REFLECT mode. diff --git a/res/TensorFlowTests/UNIT_MirrorPad_000/test.pbtxt b/res/TensorFlowTests/UNIT_MirrorPad_000/test.pbtxt new file mode 100644 index 000000000..7a2bbccd7 --- /dev/null +++ b/res/TensorFlowTests/UNIT_MirrorPad_000/test.pbtxt @@ -0,0 +1,87 @@ +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 2 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + dim { + size: 2 + } + } + int_val: 0 + int_val: 0 + int_val: 0 + int_val: 0 + int_val: 1 + int_val: 1 + int_val: 2 + int_val: 3 + } + } + } +} +node { + name: "MirrorPad" + op: "MirrorPad" + input: "input" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tpaddings" + value { + type: DT_INT32 + } + } + attr { + key: "mode" + value { + s: "REFLECT" + } + } +} diff --git a/res/TensorFlowTests/UNIT_Pack_000/test.info b/res/TensorFlowTests/UNIT_Pack_000/test.info new file mode 100644 index 000000000..756eb6bf4 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_000/test.info @@ -0,0 +1 @@ +output, Pack:0, TF_FLOAT, [4] diff --git a/res/TensorFlowTests/UNIT_Pack_000/test.manifest b/res/TensorFlowTests/UNIT_Pack_000/test.manifest new file mode 100644 index 000000000..6501a8041 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_000/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network with one Pack from four scalar Constant inputs diff --git a/res/TensorFlowTests/UNIT_Pack_000/test.pbtxt b/res/TensorFlowTests/UNIT_Pack_000/test.pbtxt new file mode 100644 index 000000000..ba3365e19 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_000/test.pbtxt @@ -0,0 +1,110 @@ +node { + name: "val_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 1 + } + } + } +} +node { + name: "val_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 2 + } + } + } +} +node { + name: "val_3" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 3 + } + } + } +} +node { + name: "val_4" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 4 + } + } + } +} +node { + name: "Pack" + op: "Pack" + input: "val_1" + input: "val_2" + input: "val_3" + input: "val_4" + attr { + key: "N" + value { + i: 4 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "axis" + value { + i: 0 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Pack_001/test.info b/res/TensorFlowTests/UNIT_Pack_001/test.info new file mode 100644 index 000000000..ee0d55651 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_001/test.info @@ -0,0 +1 @@ +output, pack_0:0, TF_FLOAT, [2, 5, 3] diff --git a/res/TensorFlowTests/UNIT_Pack_001/test.manifest b/res/TensorFlowTests/UNIT_Pack_001/test.manifest new file mode 100644 index 000000000..e4b21c426 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_001/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network with one Pack from two Tensor Constant inputs diff --git a/res/TensorFlowTests/UNIT_Pack_001/test.pbtxt b/res/TensorFlowTests/UNIT_Pack_001/test.pbtxt new file mode 100644 index 000000000..fab3132ff --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_001/test.pbtxt @@ -0,0 +1,78 @@ +node { + name: "val_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 0 + } + } + } +} +node { + name: "val_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 1 + } + } + } +} +node { + name: "pack_0" + op: "Pack" + input: "val_1" + input: "val_2" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "axis" + value { + i: 0 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Pack_002/test.info b/res/TensorFlowTests/UNIT_Pack_002/test.info new file mode 100644 index 000000000..68db8a511 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_002/test.info @@ -0,0 +1 @@ +output, pack_0:0, TF_FLOAT, [5, 3, 2] diff --git a/res/TensorFlowTests/UNIT_Pack_002/test.manifest b/res/TensorFlowTests/UNIT_Pack_002/test.manifest new file mode 100644 index 000000000..8445ed3c5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_002/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network with one Pack from two Tensor Constant inputs with Pack axis set to 2 diff --git a/res/TensorFlowTests/UNIT_Pack_002/test.pbtxt b/res/TensorFlowTests/UNIT_Pack_002/test.pbtxt new file mode 100644 index 000000000..6693ef29e --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_002/test.pbtxt @@ -0,0 +1,78 @@ +node { + name: "val_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 0 + } + } + } +} +node { + name: "val_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 1 + } + } + } +} +node { + name: "pack_0" + op: "Pack" + input: "val_1" + input: "val_2" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "axis" + value { + i: 2 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Pack_003/test.info b/res/TensorFlowTests/UNIT_Pack_003/test.info new file mode 100644 index 000000000..62cad00d1 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_003/test.info @@ -0,0 +1 @@ +output, pack_0:0, TF_FLOAT, [5, 2, 3] diff --git a/res/TensorFlowTests/UNIT_Pack_003/test.manifest b/res/TensorFlowTests/UNIT_Pack_003/test.manifest new file mode 100644 index 000000000..013c2c511 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_003/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network with one Pack from two Tensor Constant inputs with Pack axis set to -2 diff --git a/res/TensorFlowTests/UNIT_Pack_003/test.pbtxt b/res/TensorFlowTests/UNIT_Pack_003/test.pbtxt new file mode 100644 index 000000000..73b278c02 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_003/test.pbtxt @@ -0,0 +1,78 @@ +node { + name: "val_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 0 + } + } + } +} +node { + name: "val_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 1 + } + } + } +} +node { + name: "pack_0" + op: "Pack" + input: "val_1" + input: "val_2" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "axis" + value { + i: -2 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Pack_004/test.info b/res/TensorFlowTests/UNIT_Pack_004/test.info new file mode 100644 index 000000000..16ff5b9e9 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_004/test.info @@ -0,0 +1 @@ +output, pack_0:0, TF_FLOAT, [2, 5, 3] diff --git a/res/TensorFlowTests/UNIT_Pack_004/test.manifest b/res/TensorFlowTests/UNIT_Pack_004/test.manifest new file mode 100644 index 000000000..dfd369dfd --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_004/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network with one Pack from two Tensor Constant inputs with Pack axis set to -3 diff --git a/res/TensorFlowTests/UNIT_Pack_004/test.pbtxt b/res/TensorFlowTests/UNIT_Pack_004/test.pbtxt new file mode 100644 index 000000000..04dd52fa7 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pack_004/test.pbtxt @@ -0,0 +1,78 @@ +node { + name: "val_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 0 + } + } + } +} +node { + name: "val_2" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 5 + } + dim { + size: 3 + } + } + float_val: 1 + } + } + } +} +node { + name: "pack_0" + op: "Pack" + input: "val_1" + input: "val_2" + attr { + key: "N" + value { + i: 2 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "axis" + value { + i: -3 + } + } +} diff --git a/res/TensorFlowTests/UNIT_PadV2_000/test.info b/res/TensorFlowTests/UNIT_PadV2_000/test.info new file mode 100644 index 000000000..accae4857 --- /dev/null +++ b/res/TensorFlowTests/UNIT_PadV2_000/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 3, 4, 4] +output, PadV2:0, TF_FLOAT, [1, 3, 8, 6] diff --git a/res/TensorFlowTests/UNIT_PadV2_000/test.manifest b/res/TensorFlowTests/UNIT_PadV2_000/test.manifest new file mode 100644 index 000000000..1d00241f2 --- /dev/null +++ b/res/TensorFlowTests/UNIT_PadV2_000/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network that has Constant mode Pad with constant values. diff --git a/res/TensorFlowTests/UNIT_PadV2_000/test.pbtxt b/res/TensorFlowTests/UNIT_PadV2_000/test.pbtxt new file mode 100644 index 000000000..cf80fe559 --- /dev/null +++ b/res/TensorFlowTests/UNIT_PadV2_000/test.pbtxt @@ -0,0 +1,103 @@ +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 4 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + dim { + size: 2 + } + } + int_val: 0 + int_val: 0 + int_val: 0 + int_val: 0 + int_val: 2 + int_val: 2 + int_val: 1 + int_val: 1 + } + } + } +} +node { + name: "PadV2/constant_values" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 2 + } + } + } +} +node { + name: "PadV2" + op: "PadV2" + input: "input" + input: "Const" + input: "PadV2/constant_values" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tpaddings" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Pad_000/test.info b/res/TensorFlowTests/UNIT_Pad_000/test.info new file mode 100644 index 000000000..e9fd5fce2 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pad_000/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 3, 4, 4] +output, Pad:0, TF_FLOAT, [1, 3, 8, 6] diff --git a/res/TensorFlowTests/UNIT_Pad_000/test.manifest b/res/TensorFlowTests/UNIT_Pad_000/test.manifest new file mode 100644 index 000000000..d3001df34 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pad_000/test.manifest @@ -0,0 +1,8 @@ +SUMMARY: A simple network that has Constant mode Pad with default value(constant_values=0) + +# HOW TO GENERATE: +# import tensorflow as tf +# input = tf.placeholder(tf.float32, shape=[1,3,4,4], name="input") +# paddings = tf.constant([[0,0],[0,0],[2,2],[1,1]]) +# pad_const = tf.pad(input, paddings, "CONSTANT") +# tf.get_default_graph().as_graph_def() diff --git a/res/TensorFlowTests/UNIT_Pad_000/test.pbtxt b/res/TensorFlowTests/UNIT_Pad_000/test.pbtxt new file mode 100644 index 000000000..8d6a5c8aa --- /dev/null +++ b/res/TensorFlowTests/UNIT_Pad_000/test.pbtxt @@ -0,0 +1,81 @@ +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 3 + } + dim { + size: 4 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 4 + } + dim { + size: 2 + } + } + int_val: 0 + int_val: 0 + int_val: 0 + int_val: 0 + int_val: 2 + int_val: 2 + int_val: 1 + int_val: 1 + } + } + } +} +node { + name: "Pad" + op: "Pad" + input: "input" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tpaddings" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Placeholder_001/test.info b/res/TensorFlowTests/UNIT_Placeholder_001/test.info new file mode 100644 index 000000000..f5e08fb5b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_001/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 4] +output, Identity:0, TF_FLOAT, [1, 2, 3, 4] diff --git a/res/TensorFlowTests/UNIT_Placeholder_001/test.manifest b/res/TensorFlowTests/UNIT_Placeholder_001/test.manifest new file mode 100644 index 000000000..232ba50a3 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_001/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network of placeholder with unknown dimension. diff --git a/res/TensorFlowTests/UNIT_Placeholder_001/test.pbtxt b/res/TensorFlowTests/UNIT_Placeholder_001/test.pbtxt new file mode 100644 index 000000000..0913d28e3 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_001/test.pbtxt @@ -0,0 +1,40 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: -1 + } + } + } + } +} +node { + name: "Identity" + op: "Identity" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Placeholder_002/test.info b/res/TensorFlowTests/UNIT_Placeholder_002/test.info new file mode 100644 index 000000000..f5e08fb5b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_002/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 4] +output, Identity:0, TF_FLOAT, [1, 2, 3, 4] diff --git a/res/TensorFlowTests/UNIT_Placeholder_002/test.pbtxt b/res/TensorFlowTests/UNIT_Placeholder_002/test.pbtxt new file mode 100644 index 000000000..e3b468275 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_002/test.pbtxt @@ -0,0 +1,21 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } +} +node { + name: "Identity" + op: "Identity" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Placeholder_003/test.info b/res/TensorFlowTests/UNIT_Placeholder_003/test.info new file mode 100644 index 000000000..f5e08fb5b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_003/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 4] +output, Identity:0, TF_FLOAT, [1, 2, 3, 4] diff --git a/res/TensorFlowTests/UNIT_Placeholder_003/test.pbtxt b/res/TensorFlowTests/UNIT_Placeholder_003/test.pbtxt new file mode 100644 index 000000000..28955d383 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_003/test.pbtxt @@ -0,0 +1,28 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + } + } + } +} +node { + name: "Identity" + op: "Identity" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_SquaredDifference_000/circle.rule b/res/TensorFlowTests/UNIT_SquaredDifference_000/circle.rule new file mode 100644 index 000000000..bff2459a1 --- /dev/null +++ b/res/TensorFlowTests/UNIT_SquaredDifference_000/circle.rule @@ -0,0 +1,7 @@ +# To check tf2circle's result has Squared Difference Op, not divided into Sub and Div. + +RULE "VERIFY_FILE_FORMAT" $(verify_file_format) '=' 1 + +RULE "SQUARED_DIFF_EXIST" $(op_count SQUARED_DIFFERENCE) '=' 1 +RULE "NO_SUB_EXIST" $(op_count SUB) '=' 0 +RULE "NO_MUL_EXIST" $(op_count MUL) '=' 0 diff --git a/res/TensorFlowTests/UNIT_StridedSlice_000/test.info b/res/TensorFlowTests/UNIT_StridedSlice_000/test.info new file mode 100644 index 000000000..614bdb208 --- /dev/null +++ b/res/TensorFlowTests/UNIT_StridedSlice_000/test.info @@ -0,0 +1 @@ +output, strided_slice:0, TF_FLOAT, [1] diff --git a/res/TensorFlowTests/UNIT_StridedSlice_000/test.manifest b/res/TensorFlowTests/UNIT_StridedSlice_000/test.manifest new file mode 100644 index 000000000..c02e14a74 --- /dev/null +++ b/res/TensorFlowTests/UNIT_StridedSlice_000/test.manifest @@ -0,0 +1 @@ +SUMMARY: A simple network that has one StridedSlice with shrink_axis_mask 1 diff --git a/res/TensorFlowTests/UNIT_StridedSlice_000/test.pbtxt b/res/TensorFlowTests/UNIT_StridedSlice_000/test.pbtxt new file mode 100644 index 000000000..db7b12b5b --- /dev/null +++ b/res/TensorFlowTests/UNIT_StridedSlice_000/test.pbtxt @@ -0,0 +1,149 @@ +node { + name: "input" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 1 + float_val: 5 + float_val: 5 + float_val: 256 + } + } + } +} +node { + name: "begin" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "end" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 2 + } + } + } +} +node { + name: "strides" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 1 + } + } + int_val: 1 + } + } + } +} +node { + name: "strided_slice" + op: "StridedSlice" + input: "input" + input: "begin" + input: "end" + input: "strides" + attr { + key: "Index" + value { + type: DT_INT32 + } + } + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "begin_mask" + value { + i: 0 + } + } + attr { + key: "ellipsis_mask" + value { + i: 0 + } + } + attr { + key: "end_mask" + value { + i: 0 + } + } + attr { + key: "new_axis_mask" + value { + i: 0 + } + } + attr { + key: "shrink_axis_mask" + value { + i: 1 + } + } +} diff --git a/res/TensorFlowTests/explain.sh b/res/TensorFlowTests/explain.sh new file mode 100755 index 000000000..9d6903327 --- /dev/null +++ b/res/TensorFlowTests/explain.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +TESTCASE_REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +### Parse Command-line Arguments +SHOW_PATH=0 + +while true; do + case "$1" in + -p | --path) + SHOW_PATH=1; + shift + ;; + *) + break + ;; + esac +done + +### Generate Report +( + # Print HEADER + echo -n "NAME" + echo -n ",SUMMARY" + if [[ ${SHOW_PATH} -ne 0 ]]; then + echo -n ",PATH" + fi + echo + + # Print ROW(s) + for PREFIX in $(cd "${TESTCASE_REPO}"; ls */test.info | xargs -i dirname {} | sort); do + TESTCASE_DIR="${TESTCASE_REPO}/${PREFIX}" + TESTCASE_MANIFEST_FILE="${TESTCASE_DIR}/test.manifest" + TESTCASE_GRAPHDEF_FILE="${TESTCASE_DIR}/test.pbtxt" + + echo -n "${PREFIX}" + if [[ -f "${TESTCASE_MANIFEST_FILE}" ]]; then + echo -n ",$(cat "${TESTCASE_MANIFEST_FILE}" | grep '^SUMMARY: ' | head -n1 | sed 's/^SUMMARY://g' | xargs)" + else + echo -n ",-" + fi + if [[ ${SHOW_PATH} -ne 0 ]]; then + echo -n ",${TESTCASE_GRAPHDEF_FILE}" + fi + echo + done +) | column -t -s , |