summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorChunseok Lee <chunseok.lee@samsung.com>2020-12-14 14:43:43 +0900
committerChunseok Lee <chunseok.lee@samsung.com>2020-12-14 14:43:43 +0900
commit62529acabbafce7730601ed01d5709d7bc0d378a (patch)
treebf6912cfa8fac4a2997292bfcb3c82055734c97e /res
parent6ea13af5257155ff993c205cf997b870cc627f73 (diff)
downloadnnfw-62529acabbafce7730601ed01d5709d7bc0d378a.tar.gz
nnfw-62529acabbafce7730601ed01d5709d7bc0d378a.tar.bz2
nnfw-62529acabbafce7730601ed01d5709d7bc0d378a.zip
Imported Upstream version 1.12.0upstream/1.12.0
Diffstat (limited to 'res')
-rw-r--r--res/CircleRecipes/InstanceNorm_001/test.recipe47
-rw-r--r--res/CircleRecipes/InstanceNorm_001/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/Mean_dynamic_000/test.recipe29
-rw-r--r--res/TensorFlowLiteRecipes/Mean_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/Mean_dynamic_001/test.recipe29
-rw-r--r--res/TensorFlowLiteRecipes/Mean_dynamic_001/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.recipe19
-rw-r--r--res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.recipe19
-rw-r--r--res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.recipe19
-rw-r--r--res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.recipe32
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.recipe29
-rw-r--r--res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.recipe29
-rw-r--r--res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.recipe32
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.recipe31
-rw-r--r--res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/Sum_dynamic_000/test.recipe29
-rw-r--r--res/TensorFlowLiteRecipes/Sum_dynamic_000/test.reverse0
-rw-r--r--res/TensorFlowLiteRecipes/Sum_dynamic_001/test.recipe29
37 files changed, 559 insertions, 0 deletions
diff --git a/res/CircleRecipes/InstanceNorm_001/test.recipe b/res/CircleRecipes/InstanceNorm_001/test.recipe
new file mode 100644
index 000000000..ec647c36d
--- /dev/null
+++ b/res/CircleRecipes/InstanceNorm_001/test.recipe
@@ -0,0 +1,47 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 4 }
+}
+operand {
+ name: "gamma"
+ type: FLOAT32
+ shape { dim: 4 }
+ filler {
+ tag: "explicit"
+ arg: "0.0123"
+ arg: "-0.3324"
+ arg: "0.2324"
+ arg: "-3.3360"
+ }
+}
+operand {
+ name: "beta"
+ type: FLOAT32
+ shape { dim: 4 }
+ filler {
+ tag: "explicit"
+ arg: "0.7023"
+ arg: "-0.3092"
+ arg: "0.7552"
+ arg: "0.2729"
+ }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 4 }
+}
+operation {
+ type: "InstanceNorm"
+ input: "ifm"
+ input: "gamma"
+ input: "beta"
+ output: "ofm"
+ instance_norm_options {
+ epsilon: 0.001
+ activation: NONE
+ }
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/CircleRecipes/InstanceNorm_001/test.reverse b/res/CircleRecipes/InstanceNorm_001/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/CircleRecipes/InstanceNorm_001/test.reverse
diff --git a/res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.recipe
new file mode 100644
index 000000000..bed256328
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: UINT8
+ shape { dim: 1 dim: 8 dim: 8 dim: 4 }
+ quant { min: -128 max: 127 scale: 1 zero_point: 128 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 2 }
+ filler { tag: "explicit" arg: "1" arg: "2" }
+}
+operand {
+ name: "ofm"
+ type: UINT8
+ shape { dim: 1 dim: 1 dim: 1 dim: 4 }
+ quant { min: -256 max: 254 scale: 2 zero_point: 128 }
+ shape_signature { dim: -1 dim: 1 dim: 1 dim: 4 }
+}
+operation {
+ type: "Mean"
+ mean_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Mean_U8_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/Mean_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/Mean_dynamic_000/test.recipe
new file mode 100644
index 000000000..a098c628a
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Mean_dynamic_000/test.recipe
@@ -0,0 +1,29 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 4 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler { tag: "explicit" arg: "-1" }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 1 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 1 }
+}
+operation {
+ type: "Mean"
+ mean_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/Mean_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/Mean_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Mean_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/Mean_dynamic_001/test.recipe b/res/TensorFlowLiteRecipes/Mean_dynamic_001/test.recipe
new file mode 100644
index 000000000..bd1a46293
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Mean_dynamic_001/test.recipe
@@ -0,0 +1,29 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler { tag: "explicit" arg: "1" }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 4 }
+ shape_signature { dim: -1 dim: 4 }
+}
+operation {
+ type: "Mean"
+ mean_options {
+ keep_dims: false
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/Mean_dynamic_001/test.reverse b/res/TensorFlowLiteRecipes/Mean_dynamic_001/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Mean_dynamic_001/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.recipe
new file mode 100644
index 000000000..e6dee0e7d
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.recipe
@@ -0,0 +1,19 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 2 }
+ shape_signature { dim: -1 dim: 3 dim: 3 dim: 2 }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 2 }
+ shape_signature { dim: -1 dim: 3 dim: 3 dim: 2 }
+}
+operation {
+ type: "ReLU6"
+ input: "ifm"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReLU6_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.recipe
new file mode 100644
index 000000000..21c237ff8
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.recipe
@@ -0,0 +1,19 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 2 }
+ shape_signature { dim: -1 dim: 3 dim: 3 dim: 2 }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 2 }
+ shape_signature { dim: -1 dim: 3 dim: 3 dim: 2 }
+}
+operation {
+ type: "ReLUN1To1"
+ input: "ifm"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReLUN1To1_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.recipe
new file mode 100644
index 000000000..fa4293e35
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.recipe
@@ -0,0 +1,19 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 2 }
+ shape_signature { dim: -1 dim: 3 dim: 3 dim: 2 }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 3 dim: 2 }
+ shape_signature { dim: -1 dim: 3 dim: 3 dim: 2 }
+}
+operation {
+ type: "ReLU"
+ input: "ifm"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReLU_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.recipe
new file mode 100644
index 000000000..427bd05f1
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: BOOL
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 3 }
+ filler {
+ tag: "explicit"
+ arg: "0" arg: "1" arg: "2"
+ }
+}
+operand {
+ name: "ofm"
+ type: BOOL
+ shape { }
+}
+operation {
+ type: "ReduceAny"
+ reduce_any_options {
+ keep_dims: false
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.recipe b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.recipe
new file mode 100644
index 000000000..9c3a5e877
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.recipe
@@ -0,0 +1,32 @@
+operand {
+ name: "ifm"
+ type: BOOL
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler {
+ tag: "explicit"
+ arg: "1"
+ }
+}
+operand {
+ name: "ofm"
+ type: BOOL
+ shape { dim: 1 dim: 4 }
+ shape_signature { dim: -1 dim: 4 }
+}
+operation {
+ type: "ReduceAny"
+ reduce_any_options {
+ keep_dims: false
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.reverse b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_001/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.recipe b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.recipe
new file mode 100644
index 000000000..109a3cbac
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: BOOL
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 3 }
+ filler {
+ tag: "explicit"
+ arg: "0" arg: "1" arg: "2"
+ }
+}
+operand {
+ name: "ofm"
+ type: BOOL
+ shape { dim: 1 dim: 1 dim: 1 }
+}
+operation {
+ type: "ReduceAny"
+ reduce_any_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.reverse b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_002/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.recipe b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.recipe
new file mode 100644
index 000000000..1355f2b33
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: BOOL
+ shape { dim: 2 dim: 1 dim: 4 }
+ shape_signature { dim: 2 dim: -1 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler {
+ tag: "explicit"
+ arg: "1"
+ }
+}
+operand {
+ name: "ofm"
+ type: BOOL
+ shape { dim: 2 dim: 1 dim: 4 }
+}
+operation {
+ type: "ReduceAny"
+ reduce_any_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.reverse b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceAny_dynamic_003/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.recipe
new file mode 100644
index 000000000..01669bee2
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.recipe
@@ -0,0 +1,29 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 4 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 4 }
+}
+operand {
+ name: "axis"
+ type: INT32
+ shape { dim: 1 }
+ filler { tag: "explicit" arg: "-1" }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 1 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 1 }
+}
+operation {
+ type: "ReduceMax"
+ reduce_max_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "axis"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceMax_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.recipe
new file mode 100644
index 000000000..50603ba5f
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.recipe
@@ -0,0 +1,29 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 4 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 4 }
+}
+operand {
+ name: "axis"
+ type: INT32
+ shape { dim: 1 }
+ filler { tag: "explicit" arg: "-1" }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 1 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 1 }
+}
+operation {
+ type: "ReduceMin"
+ reduce_min_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "axis"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceMin_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.recipe
new file mode 100644
index 000000000..e81db67df
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 3 }
+ filler {
+ tag: "explicit"
+ arg: "0" arg: "1" arg: "2"
+ }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { }
+}
+operation {
+ type: "ReduceProd"
+ reduce_prod_options {
+ keep_dims: false
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.recipe b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.recipe
new file mode 100644
index 000000000..f2811b373
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.recipe
@@ -0,0 +1,32 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler {
+ tag: "explicit"
+ arg: "1"
+ }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 4 }
+ shape_signature { dim: -1 dim: 4 }
+}
+operation {
+ type: "ReduceProd"
+ reduce_prod_options {
+ keep_dims: false
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.reverse b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_001/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.recipe b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.recipe
new file mode 100644
index 000000000..c1e14c511
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 3 }
+ filler {
+ tag: "explicit"
+ arg: "0" arg: "1" arg: "2"
+ }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 1 dim: 1 }
+}
+operation {
+ type: "ReduceProd"
+ reduce_prod_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.reverse b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_002/test.reverse
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.recipe b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.recipe
new file mode 100644
index 000000000..4e4633f6f
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.recipe
@@ -0,0 +1,31 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 2 dim: 1 dim: 4 }
+ shape_signature { dim: 2 dim: -1 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler {
+ tag: "explicit"
+ arg: "1"
+ }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 2 dim: 1 dim: 4 }
+}
+operation {
+ type: "ReduceProd"
+ reduce_prod_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.reverse b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/ReduceProd_dynamic_003/test.reverse
diff --git a/res/TensorFlowLiteRecipes/Sum_dynamic_000/test.recipe b/res/TensorFlowLiteRecipes/Sum_dynamic_000/test.recipe
new file mode 100644
index 000000000..99b089e4d
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Sum_dynamic_000/test.recipe
@@ -0,0 +1,29 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 4 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler { tag: "explicit" arg: "-1" }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 8 dim: 8 dim: 1 }
+ shape_signature { dim: -1 dim: 8 dim: 8 dim: 1 }
+}
+operation {
+ type: "Sum"
+ sum_options {
+ keep_dims: true
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"
diff --git a/res/TensorFlowLiteRecipes/Sum_dynamic_000/test.reverse b/res/TensorFlowLiteRecipes/Sum_dynamic_000/test.reverse
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Sum_dynamic_000/test.reverse
diff --git a/res/TensorFlowLiteRecipes/Sum_dynamic_001/test.recipe b/res/TensorFlowLiteRecipes/Sum_dynamic_001/test.recipe
new file mode 100644
index 000000000..46fac492f
--- /dev/null
+++ b/res/TensorFlowLiteRecipes/Sum_dynamic_001/test.recipe
@@ -0,0 +1,29 @@
+operand {
+ name: "ifm"
+ type: FLOAT32
+ shape { dim: 1 dim: 3 dim: 4 }
+ shape_signature { dim: -1 dim: 3 dim: 4 }
+}
+operand {
+ name: "reduction_indices"
+ type: INT32
+ shape { dim: 1 }
+ filler { tag: "explicit" arg: "1" }
+}
+operand {
+ name: "ofm"
+ type: FLOAT32
+ shape { dim: 1 dim: 4 }
+ shape_signature { dim: -1 dim: 4 }
+}
+operation {
+ type: "Sum"
+ sum_options {
+ keep_dims: false
+ }
+ input: "ifm"
+ input: "reduction_indices"
+ output: "ofm"
+}
+input: "ifm"
+output: "ofm"