diff options
Diffstat (limited to 'res')
232 files changed, 9226 insertions, 0 deletions
diff --git a/res/BVLCCaffeTests/BatchNorm_000/INFERENCE b/res/BVLCCaffeTests/BatchNorm_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/BatchNorm_000/INFERENCE diff --git a/res/BVLCCaffeTests/BatchNorm_000/test.prototxt b/res/BVLCCaffeTests/BatchNorm_000/test.prototxt new file mode 100644 index 000000000..7c0f19ddf --- /dev/null +++ b/res/BVLCCaffeTests/BatchNorm_000/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 4 dim: 4 } + } +} +layer { + name: "batchnorm" + type: "BatchNorm" + bottom: "data" + top: "batchnorm" + batch_norm_param { + use_global_stats: true + } +} diff --git a/res/BVLCCaffeTests/Concat_000/INFERENCE b/res/BVLCCaffeTests/Concat_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Concat_000/INFERENCE diff --git a/res/BVLCCaffeTests/Concat_000/test.prototxt b/res/BVLCCaffeTests/Concat_000/test.prototxt new file mode 100644 index 000000000..0c2ee899c --- /dev/null +++ b/res/BVLCCaffeTests/Concat_000/test.prototxt @@ -0,0 +1,23 @@ +layer { + name: "data" + type: "Input" + top: "data1" + top: "data2" + top: "data3" + top: "data4" + input_param { + shape: { dim: 1 dim: 1 dim: 4 dim: 4 } + shape: { dim: 1 dim: 2 dim: 4 dim: 4 } + shape: { dim: 1 dim: 3 dim: 4 dim: 4 } + shape: { dim: 1 dim: 4 dim: 4 dim: 4 } + } +} +layer { + name: "concat" + type: "Concat" + bottom: "data1" + bottom: "data2" + bottom: "data3" + bottom: "data4" + top: "concat" +} diff --git a/res/BVLCCaffeTests/Convolution_000/INFERENCE b/res/BVLCCaffeTests/Convolution_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_000/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_000/test.prototxt b/res/BVLCCaffeTests/Convolution_000/test.prototxt new file mode 100644 index 000000000..b56731c06 --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_000/test.prototxt @@ -0,0 +1,23 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 4 dim: 4 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + bias_term: false + num_output: 2 + kernel_size: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Convolution_001/INFERENCE b/res/BVLCCaffeTests/Convolution_001/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_001/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_001/test.prototxt b/res/BVLCCaffeTests/Convolution_001/test.prototxt new file mode 100644 index 000000000..5b6b5c811 --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_001/test.prototxt @@ -0,0 +1,24 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 15 dim: 15 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + bias_term: false + num_output: 2 + stride: 2 + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Convolution_002/INFERENCE b/res/BVLCCaffeTests/Convolution_002/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_002/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_002/test.prototxt b/res/BVLCCaffeTests/Convolution_002/test.prototxt new file mode 100644 index 000000000..7cd59be3e --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_002/test.prototxt @@ -0,0 +1,24 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + bias_term: false + num_output: 2 + pad: 1 + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Convolution_003/INFERENCE b/res/BVLCCaffeTests/Convolution_003/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_003/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_003/test.prototxt b/res/BVLCCaffeTests/Convolution_003/test.prototxt new file mode 100644 index 000000000..38c4ebdf9 --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_003/test.prototxt @@ -0,0 +1,25 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + bias_term: false + num_output: 2 + pad: 1 + pad: 2 + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Convolution_004/INFERENCE b/res/BVLCCaffeTests/Convolution_004/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_004/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_004/test.prototxt b/res/BVLCCaffeTests/Convolution_004/test.prototxt new file mode 100644 index 000000000..76b1039c5 --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_004/test.prototxt @@ -0,0 +1,24 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + bias_term: false + num_output: 2 + kernel_h: 3 + kernel_w: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Convolution_005/INFERENCE b/res/BVLCCaffeTests/Convolution_005/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_005/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_005/test.prototxt b/res/BVLCCaffeTests/Convolution_005/test.prototxt new file mode 100644 index 000000000..93104fee8 --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_005/test.prototxt @@ -0,0 +1,21 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 15 dim: 15 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + bias_term: false + num_output: 2 + pad_h: 0 + pad_w: 3 + kernel_size: 7 + } +} diff --git a/res/BVLCCaffeTests/Convolution_006/INFERENCE b/res/BVLCCaffeTests/Convolution_006/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_006/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_006/test.prototxt b/res/BVLCCaffeTests/Convolution_006/test.prototxt new file mode 100644 index 000000000..f50a0070f --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_006/test.prototxt @@ -0,0 +1,24 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + } +} +layer { + name: "dconv" + type: "Convolution" + bottom: "data" + top: "dconv" + convolution_param { + group: 3 + num_output: 3 + bias_term: false + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Convolution_007/INFERENCE b/res/BVLCCaffeTests/Convolution_007/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_007/INFERENCE diff --git a/res/BVLCCaffeTests/Convolution_007/test.prototxt b/res/BVLCCaffeTests/Convolution_007/test.prototxt new file mode 100644 index 000000000..78009fe27 --- /dev/null +++ b/res/BVLCCaffeTests/Convolution_007/test.prototxt @@ -0,0 +1,26 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 4 dim: 4 } + } +} +layer { + name: "conv" + type: "Convolution" + bottom: "data" + top: "conv" + convolution_param { + num_output: 2 + kernel_size: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "gaussian" + std: 0.01 + } + } +} diff --git a/res/BVLCCaffeTests/Eltwise_000/INFERENCE b/res/BVLCCaffeTests/Eltwise_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Eltwise_000/INFERENCE diff --git a/res/BVLCCaffeTests/Eltwise_000/test.prototxt b/res/BVLCCaffeTests/Eltwise_000/test.prototxt new file mode 100644 index 000000000..09b85c390 --- /dev/null +++ b/res/BVLCCaffeTests/Eltwise_000/test.prototxt @@ -0,0 +1,20 @@ +layer { + name: "data" + type: "Input" + top: "lhs" + top: "rhs" + input_param { + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + } +} +layer { + name: "sum" + type: "Eltwise" + bottom: "lhs" + bottom: "rhs" + top: "sum" + eltwise_param { + operation: SUM + } +} diff --git a/res/BVLCCaffeTests/Eltwise_001/INFERENCE b/res/BVLCCaffeTests/Eltwise_001/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Eltwise_001/INFERENCE diff --git a/res/BVLCCaffeTests/Eltwise_001/test.prototxt b/res/BVLCCaffeTests/Eltwise_001/test.prototxt new file mode 100644 index 000000000..3eef071f9 --- /dev/null +++ b/res/BVLCCaffeTests/Eltwise_001/test.prototxt @@ -0,0 +1,20 @@ +layer { + name: "data" + type: "Input" + top: "lhs" + top: "rhs" + input_param { + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + shape: { dim: 1 dim: 3 dim: 16 dim: 16 } + } +} +layer { + name: "prod" + type: "Eltwise" + bottom: "lhs" + bottom: "rhs" + top: "prod" + eltwise_param { + operation: PROD + } +} diff --git a/res/BVLCCaffeTests/Input_000/INFERENCE b/res/BVLCCaffeTests/Input_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Input_000/INFERENCE diff --git a/res/BVLCCaffeTests/Input_000/test.prototxt b/res/BVLCCaffeTests/Input_000/test.prototxt new file mode 100644 index 000000000..2d0571382 --- /dev/null +++ b/res/BVLCCaffeTests/Input_000/test.prototxt @@ -0,0 +1,8 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 3 dim: 244 dim: 244 } + } +} diff --git a/res/BVLCCaffeTests/Input_001/INFERENCE b/res/BVLCCaffeTests/Input_001/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Input_001/INFERENCE diff --git a/res/BVLCCaffeTests/Input_001/test.prototxt b/res/BVLCCaffeTests/Input_001/test.prototxt new file mode 100644 index 000000000..eece8b77c --- /dev/null +++ b/res/BVLCCaffeTests/Input_001/test.prototxt @@ -0,0 +1,12 @@ +layer { + name: "data1" + type: "Input" + top: "data1" + input_param { shape: { dim: 1 dim: 3 dim: 15 dim: 15 } } +} +layer { + name: "data2" + type: "Input" + top: "data2" + input_param { shape: { dim: 1 dim: 3 dim: 15 dim: 15 } } +} diff --git a/res/BVLCCaffeTests/Pooling_000/INFERENCE b/res/BVLCCaffeTests/Pooling_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_000/INFERENCE diff --git a/res/BVLCCaffeTests/Pooling_000/test.prototxt b/res/BVLCCaffeTests/Pooling_000/test.prototxt new file mode 100644 index 000000000..8ed0c3828 --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_000/test.prototxt @@ -0,0 +1,16 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 16 dim: 16 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: MAX + kernel_size: 3 + } +} diff --git a/res/BVLCCaffeTests/Pooling_001/INFERENCE b/res/BVLCCaffeTests/Pooling_001/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_001/INFERENCE diff --git a/res/BVLCCaffeTests/Pooling_001/test.prototxt b/res/BVLCCaffeTests/Pooling_001/test.prototxt new file mode 100644 index 000000000..1ecbb96bc --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_001/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 15 dim: 15 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} diff --git a/res/BVLCCaffeTests/Pooling_002/INFERENCE b/res/BVLCCaffeTests/Pooling_002/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_002/INFERENCE diff --git a/res/BVLCCaffeTests/Pooling_002/test.prototxt b/res/BVLCCaffeTests/Pooling_002/test.prototxt new file mode 100644 index 000000000..f199bdc60 --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_002/test.prototxt @@ -0,0 +1,16 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 16 dim: 16 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: AVE + kernel_size: 3 + } +} diff --git a/res/BVLCCaffeTests/Pooling_003/INFERENCE b/res/BVLCCaffeTests/Pooling_003/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_003/INFERENCE diff --git a/res/BVLCCaffeTests/Pooling_003/test.prototxt b/res/BVLCCaffeTests/Pooling_003/test.prototxt new file mode 100644 index 000000000..e25855fa8 --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_003/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 15 dim: 15 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: AVE + kernel_size: 3 + stride: 2 + } +} diff --git a/res/BVLCCaffeTests/Pooling_004/INFERENCE b/res/BVLCCaffeTests/Pooling_004/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_004/INFERENCE diff --git a/res/BVLCCaffeTests/Pooling_004/test.prototxt b/res/BVLCCaffeTests/Pooling_004/test.prototxt new file mode 100644 index 000000000..533a01c88 --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_004/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 16 dim: 16 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: MAX + kernel_size: 3 + pad: 1 + } +} diff --git a/res/BVLCCaffeTests/Pooling_005/INFERENCE b/res/BVLCCaffeTests/Pooling_005/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_005/INFERENCE diff --git a/res/BVLCCaffeTests/Pooling_005/test.prototxt b/res/BVLCCaffeTests/Pooling_005/test.prototxt new file mode 100644 index 000000000..36475c71e --- /dev/null +++ b/res/BVLCCaffeTests/Pooling_005/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 15 dim: 15 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: AVE + kernel_size: 3 + pad: 1 + } +} diff --git a/res/BVLCCaffeTests/ReLU_000/INFERENCE b/res/BVLCCaffeTests/ReLU_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/ReLU_000/INFERENCE diff --git a/res/BVLCCaffeTests/ReLU_000/test.prototxt b/res/BVLCCaffeTests/ReLU_000/test.prototxt new file mode 100644 index 000000000..5fe2a938e --- /dev/null +++ b/res/BVLCCaffeTests/ReLU_000/test.prototxt @@ -0,0 +1,14 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { + shape: { dim: 1 dim: 2 dim: 5 dim: 3 } + } +} +layer { + name: "relu" + type: "ReLU" + bottom: "data" + top: "data" +} diff --git a/res/BVLCCaffeTests/Regression_0000/INFERENCE b/res/BVLCCaffeTests/Regression_0000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Regression_0000/INFERENCE diff --git a/res/BVLCCaffeTests/Regression_0000/test.prototxt b/res/BVLCCaffeTests/Regression_0000/test.prototxt new file mode 100644 index 000000000..5927d692f --- /dev/null +++ b/res/BVLCCaffeTests/Regression_0000/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 15 dim: 15 } } +} +layer { + name: "pool" + type: "Pooling" + bottom: "data" + top: "pool" + pooling_param { + pool: AVE + kernel_h: 3 + kernel_w: 1 + } +} diff --git a/res/BVLCCaffeTests/Scale_000/INFERENCE b/res/BVLCCaffeTests/Scale_000/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Scale_000/INFERENCE diff --git a/res/BVLCCaffeTests/Scale_000/test.prototxt b/res/BVLCCaffeTests/Scale_000/test.prototxt new file mode 100644 index 000000000..2f628ec6c --- /dev/null +++ b/res/BVLCCaffeTests/Scale_000/test.prototxt @@ -0,0 +1,16 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 16 dim: 16 } } +} +layer { + name: "scale" + type: "Scale" + bottom: "data" + top: "scale" + scale_param { + filler { type: "gaussian" std: 0.01 } + bias_term: false + } +} diff --git a/res/BVLCCaffeTests/Scale_001/INFERENCE b/res/BVLCCaffeTests/Scale_001/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/Scale_001/INFERENCE diff --git a/res/BVLCCaffeTests/Scale_001/test.prototxt b/res/BVLCCaffeTests/Scale_001/test.prototxt new file mode 100644 index 000000000..d15be8ff3 --- /dev/null +++ b/res/BVLCCaffeTests/Scale_001/test.prototxt @@ -0,0 +1,17 @@ +layer { + name: "data" + type: "Input" + top: "data" + input_param { shape: { dim: 1 dim: 3 dim: 16 dim: 16 } } +} +layer { + name: "scale" + type: "Scale" + bottom: "data" + top: "scale" + scale_param { + filler { type: "gaussian" std: 0.01 } + bias_term: true + bias_filler { type: "gaussian" std: 0.01 } + } +} diff --git a/res/BVLCCaffeTests/inception_c1/INFERENCE b/res/BVLCCaffeTests/inception_c1/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/inception_c1/INFERENCE diff --git a/res/BVLCCaffeTests/inception_c1/test.prototxt b/res/BVLCCaffeTests/inception_c1/test.prototxt new file mode 100644 index 000000000..7f2df4571 --- /dev/null +++ b/res/BVLCCaffeTests/inception_c1/test.prototxt @@ -0,0 +1,252 @@ +name: "inception_c1" +layer { + name: "input" + type: "Input" + top: "reduction_b_concat" + input_param { + shape { + dim: 1 + dim: 3 + dim: 32 + dim: 32 + } + } +} +layer { + name: "inception_c1_1x1_2" + type: "Convolution" + bottom: "reduction_b_concat" + top: "inception_c1_1x1_2" + convolution_param { + bias_term: false + num_output: 2 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_1x1_2_relu" + type: "ReLU" + bottom: "inception_c1_1x1_2" + top: "inception_c1_1x1_2" +} +layer { + name: "inception_c1_1x3_reduce" + type: "Convolution" + bottom: "reduction_b_concat" + top: "inception_c1_1x3_reduce" + convolution_param { + bias_term: false + num_output: 3 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_1x3_reduce_relu" + type: "ReLU" + bottom: "inception_c1_1x3_reduce" + top: "inception_c1_1x3_reduce" +} +layer { + name: "inception_c1_1x3" + type: "Convolution" + bottom: "inception_c1_1x3_reduce" + top: "inception_c1_1x3" + convolution_param { + bias_term: false + num_output: 4 + stride: 1 + pad_h: 0 + pad_w: 1 + kernel_h: 1 + kernel_w: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_1x3_relu" + type: "ReLU" + bottom: "inception_c1_1x3" + top: "inception_c1_1x3" +} +layer { + name: "inception_c1_3x1" + type: "Convolution" + bottom: "inception_c1_1x3_reduce" + top: "inception_c1_3x1" + convolution_param { + bias_term: false + num_output: 5 + stride: 1 + pad_h: 1 + pad_w: 0 + kernel_h: 3 + kernel_w: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_3x1_relu" + type: "ReLU" + bottom: "inception_c1_3x1" + top: "inception_c1_3x1" +} +layer { + name: "inception_c1_3x3_reduce" + type: "Convolution" + bottom: "reduction_b_concat" + top: "inception_c1_3x3_reduce" + convolution_param { + bias_term: false + num_output: 5 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_3x3_reduce_relu" + type: "ReLU" + bottom: "inception_c1_3x3_reduce" + top: "inception_c1_3x3_reduce" +} +layer { + name: "inception_c1_3x3" + type: "Convolution" + bottom: "inception_c1_3x3_reduce" + top: "inception_c1_3x3" + convolution_param { + bias_term: false + num_output: 6 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_3x3_relu" + type: "ReLU" + bottom: "inception_c1_3x3" + top: "inception_c1_3x3" +} +layer { + name: "inception_c1_1x3_2" + type: "Convolution" + bottom: "inception_c1_3x3" + top: "inception_c1_1x3_2" + convolution_param { + bias_term: false + num_output: 7 + stride: 1 + pad_h: 0 + pad_w: 1 + kernel_h: 1 + kernel_w: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_1x3_2_relu" + type: "ReLU" + bottom: "inception_c1_1x3_2" + top: "inception_c1_1x3_2" +} +layer { + name: "inception_c1_3x1_2" + type: "Convolution" + bottom: "inception_c1_3x3" + top: "inception_c1_3x1_2" + convolution_param { + bias_term: false + num_output: 8 + stride: 1 + pad_h: 1 + pad_w: 0 + kernel_h: 3 + kernel_w: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_3x1_2_relu" + type: "ReLU" + bottom: "inception_c1_3x1_2" + top: "inception_c1_3x1_2" +} +layer { + name: "inception_c1_pool" + type: "Pooling" + bottom: "reduction_b_concat" + top: "inception_c1_pool" + pooling_param { + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_c1_1x1" + type: "Convolution" + bottom: "inception_c1_pool" + top: "inception_c1_1x1" + convolution_param { + bias_term: false + num_output: 10 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "gaussian" + std: 0.01 + } + } +} +layer { + name: "inception_c1_1x1_relu" + type: "ReLU" + bottom: "inception_c1_1x1" + top: "inception_c1_1x1" +} +layer { + name: "inception_c1_concat" + type: "Concat" + bottom: "inception_c1_1x1_2" + bottom: "inception_c1_1x3" + bottom: "inception_c1_3x1" + bottom: "inception_c1_1x3_2" + bottom: "inception_c1_3x1_2" + bottom: "inception_c1_1x1" + top: "inception_c1_concat" +} diff --git a/res/BVLCCaffeTests/residual/INFERENCE b/res/BVLCCaffeTests/residual/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/residual/INFERENCE diff --git a/res/BVLCCaffeTests/residual/test.prototxt b/res/BVLCCaffeTests/residual/test.prototxt new file mode 100644 index 000000000..8ced8b6d5 --- /dev/null +++ b/res/BVLCCaffeTests/residual/test.prototxt @@ -0,0 +1,72 @@ +name: "residual" +layer { + name: "input" + type: "Input" + top: "data" + input_param { + shape { + dim: 1 + dim: 3 + dim: 31 + dim: 31 + } + } +} +layer { + name: "MaxPool2dBackward4" + type: "Pooling" + bottom: "data" + top: "MaxPool2dBackward4" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + pad: 1 + } +} +layer { + name: "ConvNdBackward5" + type: "Convolution" + bottom: "MaxPool2dBackward4" + top: "ConvNdBackward5" + convolution_param { + num_output: 5 + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride: 1 + bias_term: false + } +} +layer { + name: "ThresholdBackward7" + type: "ReLU" + bottom: "ConvNdBackward5" + top: "ConvNdBackward5" +} +layer { + name: "ConvNdBackward8" + type: "Convolution" + bottom: "ConvNdBackward5" + top: "ConvNdBackward8" + convolution_param { + num_output: 3 + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride: 1 + bias_term: false + } +} +layer { + name: "AddBackward11" + type: "Eltwise" + bottom: "ConvNdBackward8" + bottom: "MaxPool2dBackward4" + top: "AddBackward11" + eltwise_param { + operation: SUM + } +} diff --git a/res/BVLCCaffeTests/residual_bn/INFERENCE b/res/BVLCCaffeTests/residual_bn/INFERENCE new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/res/BVLCCaffeTests/residual_bn/INFERENCE diff --git a/res/BVLCCaffeTests/residual_bn/test.prototxt b/res/BVLCCaffeTests/residual_bn/test.prototxt new file mode 100644 index 000000000..eaa321e8d --- /dev/null +++ b/res/BVLCCaffeTests/residual_bn/test.prototxt @@ -0,0 +1,110 @@ +name: "residual_bn" +layer { + name: "input" + type: "Input" + top: "data" + input_param { + shape { + dim: 1 + dim: 3 + dim: 31 + dim: 31 + } + } +} +layer { + name: "MaxPool2dBackward4" + type: "Pooling" + bottom: "data" + top: "MaxPool2dBackward4" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + pad: 1 + } +} +layer { + name: "ConvNdBackward5" + type: "Convolution" + bottom: "MaxPool2dBackward4" + top: "ConvNdBackward5" + convolution_param { + num_output: 5 + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride: 1 + bias_term: false + } +} +layer { + name: "BatchNormBackward6_bn" + type: "BatchNorm" + bottom: "ConvNdBackward5" + top: "BatchNormBackward6" + batch_norm_param { + use_global_stats: true + eps: 1e-05 + } +} +layer { + name: "BatchNormBackward6_scale" + type: "Scale" + bottom: "BatchNormBackward6" + top: "BatchNormBackward6" + scale_param { + bias_term: true + } +} +layer { + name: "ThresholdBackward7" + type: "ReLU" + bottom: "BatchNormBackward6" + top: "BatchNormBackward6" +} +layer { + name: "ConvNdBackward8" + type: "Convolution" + bottom: "BatchNormBackward6" + top: "ConvNdBackward8" + convolution_param { + num_output: 3 + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride: 1 + bias_term: false + } +} +layer { + name: "BatchNormBackward9_bn" + type: "BatchNorm" + bottom: "ConvNdBackward8" + top: "BatchNormBackward9" + batch_norm_param { + use_global_stats: true + eps: 1e-05 + } +} +layer { + name: "BatchNormBackward9_scale" + type: "Scale" + bottom: "BatchNormBackward9" + top: "BatchNormBackward9" + scale_param { + bias_term: true + } +} +layer { + name: "AddBackward11" + type: "Eltwise" + bottom: "BatchNormBackward9" + bottom: "MaxPool2dBackward4" + top: "AddBackward11" + eltwise_param { + operation: SUM + } +} diff --git a/res/TensorFlowTests/NET_0000/test.info b/res/TensorFlowTests/NET_0000/test.info new file mode 100644 index 000000000..bdde9126b --- /dev/null +++ b/res/TensorFlowTests/NET_0000/test.info @@ -0,0 +1,3 @@ +# conv2d with VALID, stride = 1, 1 +input, ifm:0, TF_FLOAT, [1, 5, 5, 3] +output, maxpool:0, TF_FLOAT, [1, 4, 4, 2] diff --git a/res/TensorFlowTests/NET_0000/test.pbtxt b/res/TensorFlowTests/NET_0000/test.pbtxt new file mode 100644 index 000000000..5aafa31db --- /dev/null +++ b/res/TensorFlowTests/NET_0000/test.pbtxt @@ -0,0 +1,102 @@ +# Small Conv2D-MaxPool network +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: 1 i: 1 i: 1 } + } + } +} +node { + name: "maxpool" + op: "MaxPool" + input: "ofm" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/NET_0001/test.info b/res/TensorFlowTests/NET_0001/test.info new file mode 100644 index 000000000..0e8caae1c --- /dev/null +++ b/res/TensorFlowTests/NET_0001/test.info @@ -0,0 +1,2 @@ +input, in:0, TF_FLOAT, [1, 5, 5, 3] +output, out:0, TF_FLOAT, [1, 4, 4, 5] diff --git a/res/TensorFlowTests/NET_0001/test.pbtxt b/res/TensorFlowTests/NET_0001/test.pbtxt new file mode 100644 index 000000000..fc84d61a6 --- /dev/null +++ b/res/TensorFlowTests/NET_0001/test.pbtxt @@ -0,0 +1,160 @@ +# Small Conv2D-BiasAdd-Conv2D network +node { + name: "in" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } # N + dim { size: 5 } # H + dim { size: 5 } # W + dim { size: 3 } # C + } + } + } +} +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 } # H + dim { size: 2 } # W + dim { size: 3 } # I + dim { size: 2 } # O + } + float_val: 1.1 + } + } + } +} +node { + name: "conv" + op: "Conv2D" + input: "in" + 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: 1 i: 1 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: 2 } + } + float_val: 1.1 + } + } + } +} +node { + name: "badd" + op: "BiasAdd" + input: "conv" + input: "bias" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } +} +node { + name: "ker1" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 1 } # H + dim { size: 1 } # W + dim { size: 2 } # I + dim { size: 5 } # O + } + float_val: 1.1 + } + } + } +} +node { + name: "out" + op: "Conv2D" + input: "badd" + input: "ker1" + 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: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/NET_0002/test.info b/res/TensorFlowTests/NET_0002/test.info new file mode 100644 index 000000000..0e8caae1c --- /dev/null +++ b/res/TensorFlowTests/NET_0002/test.info @@ -0,0 +1,2 @@ +input, in:0, TF_FLOAT, [1, 5, 5, 3] +output, out:0, TF_FLOAT, [1, 4, 4, 5] diff --git a/res/TensorFlowTests/NET_0002/test.pbtxt b/res/TensorFlowTests/NET_0002/test.pbtxt new file mode 100644 index 000000000..692651aa4 --- /dev/null +++ b/res/TensorFlowTests/NET_0002/test.pbtxt @@ -0,0 +1,135 @@ +# Small Conv2D-ReLU-Conv2D network +node { + name: "in" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } # N + dim { size: 5 } # H + dim { size: 5 } # W + dim { size: 3 } # C + } + } + } +} +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 } # H + dim { size: 2 } # W + dim { size: 3 } # I + dim { size: 2 } # O + } + float_val: 1.1 + } + } + } +} +node { + name: "conv" + op: "Conv2D" + input: "in" + 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: 1 i: 1 i: 1 } + } + } +} +node { + name: "relu" + op: "Relu" + input: "conv" + attr { + key: "T" + value { type: DT_FLOAT } + } +} +node { + name: "ker1" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 1 } # H + dim { size: 1 } # W + dim { size: 2 } # I + dim { size: 5 } # O + } + float_val: 1.1 + } + } + } +} +node { + name: "out" + op: "Conv2D" + input: "relu" + input: "ker1" + 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: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/NET_0003/test.info b/res/TensorFlowTests/NET_0003/test.info new file mode 100644 index 000000000..ee7d13cd1 --- /dev/null +++ b/res/TensorFlowTests/NET_0003/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, FusedBatchNorm:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/NET_0003/test.pbtxt b/res/TensorFlowTests/NET_0003/test.pbtxt new file mode 100644 index 000000000..cf6b1a7db --- /dev/null +++ b/res/TensorFlowTests/NET_0003/test.pbtxt @@ -0,0 +1,244 @@ +# Small Conv2D + FusedBatchNorm network +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 # N + } + dim { + size: 3 # H + } + dim { + size: 3 # W + } + dim { + size: 5 # C + } + } + } + } +} +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 # H + } + dim { + size: 2 # W + } + dim { + size: 5 # I + } + dim { + size: 1 # O + } + } + float_val: 1.0 + } + } + } +} +node { + name: "Conv2D" + op: "Conv2D" + input: "Placeholder" + 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: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "scale" + 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: "offset" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 0.0 + } + } + } +} +node { + name: "FusedBatchNorm/mean" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 0.0 + } + } + } +} +node { + name: "FusedBatchNorm/variance" + 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: "FusedBatchNorm" + op: "FusedBatchNorm" + input: "Conv2D" + input: "scale" + input: "offset" + input: "FusedBatchNorm/mean" + input: "FusedBatchNorm/variance" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "epsilon" + value { + f: 0.0010000000474974513 + } + } + attr { + key: "is_training" + value { + b: false + } + } +} diff --git a/res/TensorFlowTests/NET_0003/test.py b/res/TensorFlowTests/NET_0003/test.py new file mode 100644 index 000000000..b5bad2dae --- /dev/null +++ b/res/TensorFlowTests/NET_0003/test.py @@ -0,0 +1,15 @@ +# TF_SMALL_NET_0003/test.pbtxt is create with below script + +# Version info +# - Tensorflow : 1.13.1 +# - Python : 3.5.2 + +import tensorflow as tf + +input0 = tf.placeholder(tf.float32, [1, 3, 3, 5]) +filter0 = tf.constant(1.0, shape=[2, 2, 5, 1]) +conv = tf.nn.conv2d(input0, filter=filter0, strides=[1, 1, 1, 1], padding='SAME') +fbn = tf.nn.fused_batch_norm( + conv, scale=[1.0], offset=[0.0], mean=[0.0], variance=[1.0], is_training=False) + +print(tf.get_default_graph().as_graph_def()) diff --git a/res/TensorFlowTests/NET_0004/test.info b/res/TensorFlowTests/NET_0004/test.info new file mode 100644 index 000000000..75a892250 --- /dev/null +++ b/res/TensorFlowTests/NET_0004/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, FusedBatchNorm:0, TF_FLOAT, [1, 3, 3, 10] diff --git a/res/TensorFlowTests/NET_0004/test.pbtxt b/res/TensorFlowTests/NET_0004/test.pbtxt new file mode 100644 index 000000000..18cdd65ff --- /dev/null +++ b/res/TensorFlowTests/NET_0004/test.pbtxt @@ -0,0 +1,218 @@ +# Small DepthwiseConv2D + FusedBatchNorm network +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: "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: 2 + } + dim { + size: 5 + } + dim { + size: 2 + } + } + float_val: 1 + } + } + } +} +node { + name: "depthwise/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: 2 + int_val: 2 + int_val: 5 + int_val: 2 + } + } + } +} +node { + name: "depthwise/dilation_rate" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + } + int_val: 1 + int_val: 1 + } + } + } +} +node { + name: "depthwise" + op: "DepthwiseConv2dNative" + input: "Placeholder" + 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: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "Const_1" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 10 + } + } + float_val: 2 + } + } + } +} +node { + name: "FusedBatchNorm" + op: "FusedBatchNorm" + input: "depthwise" + input: "Const_1" + input: "Const_1" + input: "Const_1" + input: "Const_1" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "epsilon" + value { + f: 0.001 + } + } + attr { + key: "is_training" + value { + b: false + } + } +} diff --git a/res/TensorFlowTests/NET_0004/test.py b/res/TensorFlowTests/NET_0004/test.py new file mode 100644 index 000000000..a0c790d79 --- /dev/null +++ b/res/TensorFlowTests/NET_0004/test.py @@ -0,0 +1,16 @@ +# TF_SMALL_NET_0004/test.pbtxt is create with below script + +# Version info +# - Tensorflow : 1.13.1 +# - Python : 3.5.2 + +import tensorflow as tf + +input0 = tf.placeholder(tf.float32, [1, 3, 3, 5]) +filter0 = tf.constant(1.0, shape=[2, 2, 5, 2]) +dconv = tf.nn.depthwise_conv2d(input0, filter0, [1, 1, 1, 1], 'SAME') +const = tf.constant(2.0, shape=[10]) +fbn = tf.nn.fused_batch_norm( + x=dconv, scale=const, offset=const, mean=const, variance=const, is_training=False) + +print(tf.get_default_graph().as_graph_def()) diff --git a/res/TensorFlowTests/NET_0005/test.info b/res/TensorFlowTests/NET_0005/test.info new file mode 100644 index 000000000..379959c05 --- /dev/null +++ b/res/TensorFlowTests/NET_0005/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 3, 2] +output, Reshape2:0, TF_FLOAT, [1, 2, 3, 2] diff --git a/res/TensorFlowTests/NET_0005/test.pbtxt b/res/TensorFlowTests/NET_0005/test.pbtxt new file mode 100644 index 000000000..16cc44005 --- /dev/null +++ b/res/TensorFlowTests/NET_0005/test.pbtxt @@ -0,0 +1,120 @@ +# Small Shape + Reshape network +# This test is quite similar with the last part of InceptionV3 +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: 2 + } + } + } + } +} +node { + name: "Shape" + op: "Shape" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "out_type" + value { + type: DT_INT32 + } + } +} +node { + name: "Const" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + } + int_val: 3 + int_val: 4 + } + } + } +} +node { + name: "Reshape1" + op: "Reshape" + input: "Placeholder" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} +node { + name: "Relu" + op: "Relu" + input: "Reshape1" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "Reshape2" + op: "Reshape" + input: "Relu" + input: "Shape" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/NET_0006/test.info b/res/TensorFlowTests/NET_0006/test.info new file mode 100644 index 000000000..f0b1e20ea --- /dev/null +++ b/res/TensorFlowTests/NET_0006/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 7, 7, 1] +output, maxpool:0, TF_FLOAT, [1, 7, 7, 2] diff --git a/res/TensorFlowTests/NET_0006/test.pbtxt b/res/TensorFlowTests/NET_0006/test.pbtxt new file mode 100644 index 000000000..e92b60629 --- /dev/null +++ b/res/TensorFlowTests/NET_0006/test.pbtxt @@ -0,0 +1,149 @@ +# A simple network that has "Concat" in between feature operations. +# +# Placeholder -+-> MaxPool2D -+-> Concat -> MaxPool2D +# | | +# +-> MaxPool2D -+ +# +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } # N + dim { size: 7 } # H + dim { size: 7 } # W + dim { size: 1 } # C + } + } + } +} +node { + name: "maxpool_1" + op: "MaxPool" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} +node { + name: "maxpool_2" + op: "MaxPool" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} +node { + name: "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: "maxpool_1" + input: "maxpool_2" + input: "axis" + attr { + key: "N" + value { i: 2 } + } + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tidx" + value { type: DT_INT32 } + } +} +node { + name: "maxpool" + op: "MaxPool" + input: "concat" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/NET_0007/test.info b/res/TensorFlowTests/NET_0007/test.info new file mode 100644 index 000000000..59c3f6122 --- /dev/null +++ b/res/TensorFlowTests/NET_0007/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, Mul:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/NET_0007/test.pbtxt b/res/TensorFlowTests/NET_0007/test.pbtxt new file mode 100644 index 000000000..10f9f35a5 --- /dev/null +++ b/res/TensorFlowTests/NET_0007/test.pbtxt @@ -0,0 +1,151 @@ +# A simple network that has "Conv2D" + "Mul" +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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "mulparam" + 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: "Mul" + op: "Mul" + input: "Conv2D" + input: "mulparam" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0008/test.info b/res/TensorFlowTests/NET_0008/test.info new file mode 100644 index 000000000..ccdd6fd44 --- /dev/null +++ b/res/TensorFlowTests/NET_0008/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, Add:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/NET_0008/test.pbtxt b/res/TensorFlowTests/NET_0008/test.pbtxt new file mode 100644 index 000000000..bbaba7ded --- /dev/null +++ b/res/TensorFlowTests/NET_0008/test.pbtxt @@ -0,0 +1,151 @@ +# A simple network that has "Conv2D" + "Add" +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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "addparam" + 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: "Add" + op: "Add" + input: "Conv2D" + input: "addparam" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0009/test.info b/res/TensorFlowTests/NET_0009/test.info new file mode 100644 index 000000000..ccdd6fd44 --- /dev/null +++ b/res/TensorFlowTests/NET_0009/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, Add:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/NET_0009/test.pbtxt b/res/TensorFlowTests/NET_0009/test.pbtxt new file mode 100644 index 000000000..a4eee69ae --- /dev/null +++ b/res/TensorFlowTests/NET_0009/test.pbtxt @@ -0,0 +1,194 @@ +# A simple network that has "Conv2D" + "BiasAdd" + "Add" +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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "BiasAdd/bias" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + } + float_val: 1.0 + float_val: 1.0 + } + } + } +} +node { + name: "BiasAdd" + op: "BiasAdd" + input: "Conv2D" + input: "BiasAdd/bias" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} +node { + name: "addparam" + 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: "Add" + op: "Add" + input: "BiasAdd" + input: "addparam" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0010/test.info b/res/TensorFlowTests/NET_0010/test.info new file mode 100644 index 000000000..bcbc41892 --- /dev/null +++ b/res/TensorFlowTests/NET_0010/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 2] +output, Add:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/NET_0010/test.pbtxt b/res/TensorFlowTests/NET_0010/test.pbtxt new file mode 100644 index 000000000..b9c6c9987 --- /dev/null +++ b/res/TensorFlowTests/NET_0010/test.pbtxt @@ -0,0 +1,109 @@ +# A simple network that has "BiasAdd" + "Add" +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: 2 + } + } + } + } +} +node { + name: "bias_add_01/bias" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 2 + } + } + float_val: 1.0 + float_val: -1.0 + } + } + } +} +node { + name: "bias_add_01" + op: "BiasAdd" + input: "Placeholder" + input: "bias_add_01/bias" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} +node { + name: "addparam" + 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: "Add" + op: "Add" + input: "bias_add_01" + input: "addparam" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0011/test.info b/res/TensorFlowTests/NET_0011/test.info new file mode 100644 index 000000000..7fb5ec2c0 --- /dev/null +++ b/res/TensorFlowTests/NET_0011/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [2] +output, concat_out:0, TF_FLOAT, [6] diff --git a/res/TensorFlowTests/NET_0011/test.pbtxt b/res/TensorFlowTests/NET_0011/test.pbtxt new file mode 100644 index 000000000..a44aba783 --- /dev/null +++ b/res/TensorFlowTests/NET_0011/test.pbtxt @@ -0,0 +1,129 @@ +# A simple network that includes constant foldable subgraph +# (note: [] indicates shape, () indicates real value) +# +# input1 (const) -- relu -+ placeholder --+ +# (-1, 1) (0, 1) | shape [2] | +# | | +# input2 (const) -+-- concat -------- concat_out +# (2, 3) | (0, 1, 2, 3) | +# | | +# axis (const)-+-------------------+ +# +# will be the following after constant folding: +# +# Pull --+ +# shape [2] | +# | +# ConstGen------- TensorConcat -- Push +# (0, 1, 2, 3) shape [6] +# +node { + name: "input1" + op: "Const" + attr { + key: "dtype" value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { dim { size: 2 } } + float_val: -1 + float_val: 1 + } + } + } +} +node { + name: "relu" + op: "Relu" + input: "input1" + attr { key: "T" value { type: DT_FLOAT } } +} +node { + name: "input2" + 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 + float_val: 3 + } + } + } +} +node { + name: "axis" + op: "Const" + attr { key: "dtype" value { type: DT_INT32 } } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { } + int_val: 0 + } + } + } +} +node { + name: "concat" + op: "ConcatV2" + input: "relu" + input: "input2" + input: "axis" + attr { + key: "N" + value { i: 2 } + } + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tidx" + value { type: DT_INT32 } + } +} +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + } + } + } +} +node { + name: "concat_out" + op: "ConcatV2" + input: "concat" + input: "placeholder" + input: "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_0012/test.info b/res/TensorFlowTests/NET_0012/test.info new file mode 100644 index 000000000..b210407fb --- /dev/null +++ b/res/TensorFlowTests/NET_0012/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [6] +output, reshape:0, TF_FLOAT, [3, 2] diff --git a/res/TensorFlowTests/NET_0012/test.pbtxt b/res/TensorFlowTests/NET_0012/test.pbtxt new file mode 100644 index 000000000..387dc92f6 --- /dev/null +++ b/res/TensorFlowTests/NET_0012/test.pbtxt @@ -0,0 +1,52 @@ +# Network with dynamic reshape which has resolvable wildcard dimension +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 6 } + } + } + } +} +node { + name: "shape" + op: "Const" + attr { + key: "dtype" + value { type: DT_INT32 } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { size: 2 } + } + int_val: -1 + int_val: 2 + } + } + } +} +node { + name: "reshape" + op: "Reshape" + input: "placeholder" + input: "shape" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tshape" + value { type: DT_INT32 } + } +} diff --git a/res/TensorFlowTests/NET_0013/test.info b/res/TensorFlowTests/NET_0013/test.info new file mode 100644 index 000000000..137cdfa8c --- /dev/null +++ b/res/TensorFlowTests/NET_0013/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [6] +output, Reshape:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/NET_0013/test.pbtxt b/res/TensorFlowTests/NET_0013/test.pbtxt new file mode 100644 index 000000000..a9c6aff98 --- /dev/null +++ b/res/TensorFlowTests/NET_0013/test.pbtxt @@ -0,0 +1,72 @@ +# Network containing Shape node, which becomes Reshape's 'shape' input +# Note that this is a work-around to test Shape +# +# (tensor) +# Placeholder ---------- Reshape +# / +# Const --- Shape --- +# (shape) +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 6 } + } + } + } +} +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 } + } + float_val: 1.0 + } + } + } +} +node { + name: "Shape" + op: "Shape" + input: "Const" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "out_type" + value { type: DT_INT32 } + } +} +node { + name: "Reshape" + op: "Reshape" + input: "Placeholder" + input: "Shape" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tshape" + value { type: DT_INT32 } + } +} diff --git a/res/TensorFlowTests/NET_0014/test.info b/res/TensorFlowTests/NET_0014/test.info new file mode 100644 index 000000000..d3ea85a10 --- /dev/null +++ b/res/TensorFlowTests/NET_0014/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [2, 1, 1, 3] +output, reshape_2:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/NET_0014/test.pbtxt b/res/TensorFlowTests/NET_0014/test.pbtxt new file mode 100644 index 000000000..d4bc8e698 --- /dev/null +++ b/res/TensorFlowTests/NET_0014/test.pbtxt @@ -0,0 +1,106 @@ +# Mock of the Epilogue, using ReLU instead of Softmax +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + dim { size: 1 } + dim { size: 1 } + dim { size: 3 } + } + } + } +} +node { + name: "squeeze" + op: "Squeeze" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "squeeze_dims" + value { + list { i: 1 i: 2 } + } + } +} +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: 2 } + } + int_val: -1 + int_val: 3 + } + } + } +} +node { + name: "reshape_1" + op: "Reshape" + input: "squeeze" + input: "Reshape/shape" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tshape" + value { type: DT_INT32 } + } +} +node { + name: "relu" + op: "Relu" + input: "reshape_1" + attr { + key: "T" + value { type: DT_FLOAT } + } +} +node { + name: "shape" + op: "Shape" + input: "squeeze" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "out_type" + value { type: DT_INT32 } + } +} +node { + name: "reshape_2" + op: "Reshape" + input: "relu" + input: "shape" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tshape" + value { type: DT_INT32 } + } +} diff --git a/res/TensorFlowTests/NET_0015/test.info b/res/TensorFlowTests/NET_0015/test.info new file mode 100644 index 000000000..dbbef9b3a --- /dev/null +++ b/res/TensorFlowTests/NET_0015/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 3] +output, as_rsqrt:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/NET_0015/test.pbtxt b/res/TensorFlowTests/NET_0015/test.pbtxt new file mode 100644 index 000000000..3d994e8d5 --- /dev/null +++ b/res/TensorFlowTests/NET_0015/test.pbtxt @@ -0,0 +1,74 @@ +# A simple network that simulates Rsqrt: 1.0 / Sqrt(input) +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: "SQRT_02" + op: "Sqrt" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +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 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "as_rsqrt" + op: "RealDiv" + input: "Const" + input: "SQRT_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0016/test.info b/res/TensorFlowTests/NET_0016/test.info new file mode 100644 index 000000000..ee7d13cd1 --- /dev/null +++ b/res/TensorFlowTests/NET_0016/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 5] +output, FusedBatchNorm:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/NET_0016/test.pbtxt b/res/TensorFlowTests/NET_0016/test.pbtxt new file mode 100644 index 000000000..64e5c4194 --- /dev/null +++ b/res/TensorFlowTests/NET_0016/test.pbtxt @@ -0,0 +1,271 @@ +# Small Conv2D + FusedBatchNorm network with Identity +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 # N + } + dim { + size: 3 # H + } + dim { + size: 3 # W + } + dim { + size: 5 # C + } + } + } + } +} +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 # H + } + dim { + size: 2 # W + } + dim { + size: 5 # I + } + dim { + size: 1 # O + } + } + float_val: 1.0 + } + } + } +} +node { + name: "Conv2D" + op: "Conv2D" + input: "Placeholder" + 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: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "scale" + 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: "offset" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 0.0 + } + } + } +} +node { + name: "FusedBatchNorm/mean" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 0.0 + } + } + } +} +node { + name: "FusedBatchNorm/variance" + 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: "offset/id" + op: "Identity" + input: "offset" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "FusedBatchNorm/mean/id" + op: "Identity" + input: "FusedBatchNorm/mean" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "FusedBatchNorm/variance/id" + op: "Identity" + input: "FusedBatchNorm/variance" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "FusedBatchNorm" + op: "FusedBatchNorm" + input: "Conv2D" + input: "scale" + input: "offset/id" + input: "FusedBatchNorm/mean/id" + input: "FusedBatchNorm/variance/id" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "epsilon" + value { + f: 0.0010000000474974513 + } + } + attr { + key: "is_training" + value { + b: false + } + } +} diff --git a/res/TensorFlowTests/NET_0017/test.info b/res/TensorFlowTests/NET_0017/test.info new file mode 100644 index 000000000..e9413cb98 --- /dev/null +++ b/res/TensorFlowTests/NET_0017/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 8, 8, 1] +output, avgpool2d:0, TF_FLOAT, [1, 1, 1, 1] diff --git a/res/TensorFlowTests/NET_0017/test.pbtxt b/res/TensorFlowTests/NET_0017/test.pbtxt new file mode 100644 index 000000000..e8cc76b70 --- /dev/null +++ b/res/TensorFlowTests/NET_0017/test.pbtxt @@ -0,0 +1,61 @@ +# HOW TO GENERATE: +# +# import tensorflow as tf +# value = tf.placeholder(dtype=tf.float32, shape=[1, 8, 8, 1], name='placeholder') +# output = tf.nn.avg_pool(value, [1, 8, 8, 1], [1, 1, 1, 1], 'VALID', name='avgpool2d') +# tf.get_default_graph().as_graph_def() +# +# NOTE 1. The output shape is 1x1x1x1 +# +# >>> tf.graph_util.tensor_shape_from_node_def_name(tf.get_default_graph(), 'avgpool2d') +# TensorShape([Dimension(1), Dimension(1), Dimension(1), Dimension(1)]) +# +# NOTE 2. This test corresponds to the last AvgPool node inception v3 2018.04.27. +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 8 } + dim { size: 8 } + dim { size: 1 } + } + } + } +} +node { + name: "avgpool2d" + op: "AvgPool" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 8 i: 8 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/NET_0018/test.info b/res/TensorFlowTests/NET_0018/test.info new file mode 100644 index 000000000..87f6fa795 --- /dev/null +++ b/res/TensorFlowTests/NET_0018/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 4, 4, 1] +output, avgpool2d:0, TF_FLOAT, [1, 4, 4, 1] diff --git a/res/TensorFlowTests/NET_0018/test.pbtxt b/res/TensorFlowTests/NET_0018/test.pbtxt new file mode 100644 index 000000000..3b8a15ef8 --- /dev/null +++ b/res/TensorFlowTests/NET_0018/test.pbtxt @@ -0,0 +1,63 @@ +# HOW TO GENERATE: +# +# import tensorflow as tf +# value = tf.placeholder(dtype=tf.float32, shape=[1, 4, 4, 1], name='placeholder') +# output = tf.nn.avg_pool(value, [1, 3, 3, 1], [1, 1, 1, 1], 'SAME', name='avgpool2d') +# tf.get_default_graph().as_graph_def() +# +# NOTE 1. The output shape is 1x4x4x1 +# +# >>> tf.graph_util.tensor_shape_from_node_def_name(tf.get_default_graph(), 'avgpool2d') +# TensorShape([Dimension(1), Dimension(4), Dimension(4), Dimension(1)]) +# +# NOTE 2. Almost all the AvgPool nodes in inception v3 2018.04.27 use this configuration. +# +# The only exception is "InceptionV3/Logits/AvgPool_1a_8x8/AvgPool" which performs global average pooling. +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 4 } + dim { size: 4 } + dim { size: 1 } + } + } + } +} +node { + name: "avgpool2d" + op: "AvgPool" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 3 i: 3 i: 1 } + } + } + attr { + key: "padding" + value { s: "SAME" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/NET_0019/test.info b/res/TensorFlowTests/NET_0019/test.info new file mode 100644 index 000000000..908883475 --- /dev/null +++ b/res/TensorFlowTests/NET_0019/test.info @@ -0,0 +1,2 @@ +input, ifm:0, TF_FLOAT, [1, 7, 7, 4] +output, ofm:0, TF_FLOAT, [1, 3, 3, 6] diff --git a/res/TensorFlowTests/NET_0019/test.pbtxt b/res/TensorFlowTests/NET_0019/test.pbtxt new file mode 100644 index 000000000..076f4f619 --- /dev/null +++ b/res/TensorFlowTests/NET_0019/test.pbtxt @@ -0,0 +1,89 @@ +# HOW TO GENERATE: +# +# import tensorflow as tf +# I = 4 +# O = 6 +# ifm = tf.placeholder(dtype=tf.float32, shape=[1, 7, 7, I], name='ifm') +# ker = tf.constant(dtype=tf.float32, shape=[3, 3, I, O], name='ker', value=1.1) +# ofm = tf.nn.conv2d(input=ifm, filter=ker, strides=[1, 2, 2, 1], padding='VALID', name='ofm') +# tf.get_default_graph().as_graph_def() +# +# NOTE 1. The output shape is 1x3x3x6 +# +# >>> tf.graph_util.tensor_shape_from_node_def_name(tf.get_default_graph(), 'ofm') +# TensorShape([Dimension(1), Dimension(3), Dimension(3), Dimension(6)]) +# +# NOTE 2. This test corresponds to "InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D" node +# +node { + name: "ifm" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 7 } + dim { size: 7 } + dim { size: 4 } + } + } + } +} +node { + name: "ker" + 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: 4 } + dim { size: 6 } + } + 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/NET_0020/test.info b/res/TensorFlowTests/NET_0020/test.info new file mode 100644 index 000000000..d3ea85a10 --- /dev/null +++ b/res/TensorFlowTests/NET_0020/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [2, 1, 1, 3] +output, reshape_2:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/NET_0020/test.pbtxt b/res/TensorFlowTests/NET_0020/test.pbtxt new file mode 100644 index 000000000..efd18d132 --- /dev/null +++ b/res/TensorFlowTests/NET_0020/test.pbtxt @@ -0,0 +1,112 @@ +# The Epilogue, or endmost part of inception v3 comprised of Squeeze, +# Reshape, Shape and Softmax +# +# Only difference from original is input shape: +# - original has unknown batch and 1001 channels [?, 1, 1, 1001] +# - this test has 2 batches and 3 channels [2, 1, 1, 3] + +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + dim { size: 1 } + dim { size: 1 } + dim { size: 3 } + } + } + } +} +node { + name: "squeeze" + op: "Squeeze" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "squeeze_dims" + value { + list { i: 1 i: 2 } + } + } +} +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: 2 } + } + int_val: -1 + int_val: 3 + } + } + } +} +node { + name: "reshape_1" + op: "Reshape" + input: "squeeze" + input: "Reshape/shape" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tshape" + value { type: DT_INT32 } + } +} +node { + name: "softmax" + op: "Softmax" + input: "reshape_1" + attr { + key: "T" + value { type: DT_FLOAT } + } +} +node { + name: "shape" + op: "Shape" + input: "squeeze" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "out_type" + value { type: DT_INT32 } + } +} +node { + name: "reshape_2" + op: "Reshape" + input: "softmax" + input: "shape" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tshape" + value { type: DT_INT32 } + } +} diff --git a/res/TensorFlowTests/NET_0021/test.info b/res/TensorFlowTests/NET_0021/test.info new file mode 100644 index 000000000..059b21cca --- /dev/null +++ b/res/TensorFlowTests/NET_0021/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 7, 7, 1] +output, maxpool2d:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/NET_0021/test.pbtxt b/res/TensorFlowTests/NET_0021/test.pbtxt new file mode 100644 index 000000000..b1eadccd9 --- /dev/null +++ b/res/TensorFlowTests/NET_0021/test.pbtxt @@ -0,0 +1,65 @@ +# HOW TO GENERATE: +# +# import tensorflow as tf +# value = tf.placeholder(dtype=tf.float32, shape=[1, 7, 7, 1], name='placeholder') +# output = tf.nn.max_pool(value, [1, 3, 3, 1], [1, 2, 2, 1], 'VALID', name='maxpool2d') +# tf.get_default_graph().as_graph_def() +# +# NOTE 1. The output shape is 1x3x3x1 +# +# >>> tf.graph_util.tensor_shape_from_node_def_name(tf.get_default_graph(), 'maxpool2d') +# TensorShape([Dimension(1), Dimension(3), Dimension(3), Dimension(1)]) +# +# NOTE 2. All the MaxPool nodes in inception v3 2018.04.27 use this configuration. +# - InceptionV3/InceptionV3/MaxPool_3a_3x3/MaxPool +# - InceptionV3/InceptionV3/MaxPool_5a_3x3/MaxPool +# - InceptionV3/InceptionV3/Mixed_6a/Branch_2/MaxPool_1a_3x3/MaxPool +# - InceptionV3/InceptionV3/Mixed_7a/Branch_2/MaxPool_1a_3x3/MaxPool +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 7 } + dim { size: 7 } + dim { size: 1 } + } + } + } +} +node { + name: "maxpool2d" + op: "MaxPool" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 3 i: 3 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/NET_0022/test.info b/res/TensorFlowTests/NET_0022/test.info new file mode 100644 index 000000000..89c33ee9c --- /dev/null +++ b/res/TensorFlowTests/NET_0022/test.info @@ -0,0 +1,5 @@ +# this has two inputs and two outputs. Let's make our code to handle multiple inputs and outputs. +input, input_1:0, TF_FLOAT, [2, 2] +input, input_2:0, TF_FLOAT, [2, 2] +output, output_1:0, TF_FLOAT, [2, 2] +output, output_2:0, TF_FLOAT, [2, 2] diff --git a/res/TensorFlowTests/NET_0022/test.pbtxt b/res/TensorFlowTests/NET_0022/test.pbtxt new file mode 100644 index 000000000..c8879e84f --- /dev/null +++ b/res/TensorFlowTests/NET_0022/test.pbtxt @@ -0,0 +1,70 @@ +node { + name: "input_1" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "input_2" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output_1" + op: "Add" + input: "input_1" + input: "input_2" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "output_2" + op: "Add" + input: "input_1" + input: "input_2" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0023/test.info b/res/TensorFlowTests/NET_0023/test.info new file mode 100644 index 000000000..856de94d4 --- /dev/null +++ b/res/TensorFlowTests/NET_0023/test.info @@ -0,0 +1,2 @@ +# this has no input +output, out:0, TF_FLOAT, [2, 2] diff --git a/res/TensorFlowTests/NET_0023/test.pbtxt b/res/TensorFlowTests/NET_0023/test.pbtxt new file mode 100644 index 000000000..2ef5a0b99 --- /dev/null +++ b/res/TensorFlowTests/NET_0023/test.pbtxt @@ -0,0 +1,72 @@ +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: 2 + } + } + float_val: 1 + float_val: 2 + float_val: 3 + float_val: 4 + } + } + } +} +node { + name: "Const_1" + 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 + } + } + float_val: 1 + float_val: 2 + float_val: 3 + float_val: 4 + } + } + } +} +node { + name: "out" + op: "Add" + input: "Const" + input: "Const_1" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0024/test.info b/res/TensorFlowTests/NET_0024/test.info new file mode 100644 index 000000000..f049f9d43 --- /dev/null +++ b/res/TensorFlowTests/NET_0024/test.info @@ -0,0 +1,3 @@ +input, fst:0, TF_FLOAT, [1, 6, 1, 1] +input, snd:0, TF_FLOAT, [1, 3, 1, 1] +output, out:0, TF_FLOAT, [1, 9, 1, 1] diff --git a/res/TensorFlowTests/NET_0024/test.pbtxt b/res/TensorFlowTests/NET_0024/test.pbtxt new file mode 100644 index 000000000..ee3f99dd9 --- /dev/null +++ b/res/TensorFlowTests/NET_0024/test.pbtxt @@ -0,0 +1,76 @@ +# This example intentionally declares "snd" node before "fst" node +node { + name: "snd" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 3 } + dim { size: 1 } + dim { size: 1 } + } + } + } +} +node { + name: "fst" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 6 } + dim { size: 1 } + dim { size: 1 } + } + } + } +} +node { + name: "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: "out" + op: "ConcatV2" + input: "fst" + input: "snd" + input: "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_0025/test.info b/res/TensorFlowTests/NET_0025/test.info new file mode 100644 index 000000000..6c5eafde7 --- /dev/null +++ b/res/TensorFlowTests/NET_0025/test.info @@ -0,0 +1,3 @@ +# This is a slim version of first 4 nodes in inception v3 (from Placeholder to the first RelU) +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/NET_0025/test.pbtxt b/res/TensorFlowTests/NET_0025/test.pbtxt new file mode 100644 index 000000000..9b3316dc4 --- /dev/null +++ b/res/TensorFlowTests/NET_0025/test.pbtxt @@ -0,0 +1,167 @@ +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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +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: "InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/FusedBatchNorm" + 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" + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/FusedBatchNorm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0026/test.info b/res/TensorFlowTests/NET_0026/test.info new file mode 100644 index 000000000..b96ff35b8 --- /dev/null +++ b/res/TensorFlowTests/NET_0026/test.info @@ -0,0 +1,3 @@ +# This is a slim version of first 7 nodes in inception v3 (from Placeholder to the second ReLU) +input, input:0, TF_FLOAT, [1, 9, 9, 3] +output, InceptionV3/InceptionV3/Conv2d_2a_3x3/Relu:0, TF_FLOAT, [1, 2, 2, 4] diff --git a/res/TensorFlowTests/NET_0026/test.pbtxt b/res/TensorFlowTests/NET_0026/test.pbtxt new file mode 100644 index 000000000..ea0262784 --- /dev/null +++ b/res/TensorFlowTests/NET_0026/test.pbtxt @@ -0,0 +1,305 @@ +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: 9 + } + dim { + size: 9 + } + 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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +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: "InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/FusedBatchNorm" + 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" + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/FusedBatchNorm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InceptionV3/Conv2d_2a_3x3/weights/read/_7__cf__7" + 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: 4 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D" + op: "Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu" + input: "InceptionV3/Conv2d_2a_3x3/weights/read/_7__cf__7" + 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: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2a_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: "InceptionV3/InceptionV3/Conv2d_2a_3x3/BatchNorm/FusedBatchNorm" + op: "BiasAdd" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D_bn_offset" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/BatchNorm/FusedBatchNorm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/NET_0027/test.info b/res/TensorFlowTests/NET_0027/test.info new file mode 100644 index 000000000..db97c4603 --- /dev/null +++ b/res/TensorFlowTests/NET_0027/test.info @@ -0,0 +1,3 @@ +# This is a slim version of first 10 nodes in inception v3 (from Placeholder to MaxPool2D) +input, input:0, TF_FLOAT, [1, 15, 15, 3] +output, InceptionV3/InceptionV3/MaxPool_3a_3x3/MaxPool:0, TF_FLOAT, [1, 2, 2, 5] diff --git a/res/TensorFlowTests/NET_0027/test.pbtxt b/res/TensorFlowTests/NET_0027/test.pbtxt new file mode 100644 index 000000000..af5fa9372 --- /dev/null +++ b/res/TensorFlowTests/NET_0027/test.pbtxt @@ -0,0 +1,488 @@ +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: 15 + } + dim { + size: 15 + } + 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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +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: "InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/FusedBatchNorm" + 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" + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/FusedBatchNorm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InceptionV3/Conv2d_2a_3x3/weights/read/_7__cf__7" + 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: 4 + } + dim { + size: 4 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D" + op: "Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_1a_3x3/Relu" + input: "InceptionV3/Conv2d_2a_3x3/weights/read/_7__cf__7" + 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: 1 + i: 1 + i: 1 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2a_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: "InceptionV3/InceptionV3/Conv2d_2a_3x3/BatchNorm/FusedBatchNorm" + op: "BiasAdd" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Conv2D_bn_offset" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/BatchNorm/FusedBatchNorm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2b_3x3/Conv2D" + op: "Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_2a_3x3/Relu" + input: "InceptionV3/Conv2d_2b_3x3/weights/read/_11__cf__11" + 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 + } + } + } + attr { + key: "use_cudnn_on_gpu" + value { + b: true + } + } +} +node { + name: "InceptionV3/Conv2d_2b_3x3/weights/read/_11__cf__11" + 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: 4 + } + dim { + size: 5 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2b_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: 5 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2b_3x3/BatchNorm/FusedBatchNorm" + op: "BiasAdd" + input: "InceptionV3/InceptionV3/Conv2d_2b_3x3/Conv2D" + input: "InceptionV3/InceptionV3/Conv2d_2b_3x3/Conv2D_bn_offset" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } +} +node { + name: "InceptionV3/InceptionV3/Conv2d_2b_3x3/Relu" + op: "Relu" + input: "InceptionV3/InceptionV3/Conv2d_2b_3x3/BatchNorm/FusedBatchNorm" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InceptionV3/InceptionV3/MaxPool_3a_3x3/MaxPool" + op: "MaxPool" + input: "InceptionV3/InceptionV3/Conv2d_2b_3x3/Relu" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "ksize" + value { + list { + i: 1 + i: 3 + i: 3 + 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/NET_0028/test.info b/res/TensorFlowTests/NET_0028/test.info new file mode 100644 index 000000000..d09ce02da --- /dev/null +++ b/res/TensorFlowTests/NET_0028/test.info @@ -0,0 +1,3 @@ +# This is a slim version of Instance Normalizartion +input, Input:0, TF_FLOAT, [1, 8, 6, 12] +output, Relu:0, TF_FLOAT, [1, 8, 6, 12] diff --git a/res/TensorFlowTests/NET_0028/test.pbtxt b/res/TensorFlowTests/NET_0028/test.pbtxt new file mode 100644 index 000000000..48a5bccd3 --- /dev/null +++ b/res/TensorFlowTests/NET_0028/test.pbtxt @@ -0,0 +1,373 @@ +node { + name: "Input" + 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: 12 + } + } + } + } +} +node { + name: "InstanceNorm/beta" + 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.97139931 + float_val: 1.45169675 + float_val: 1.2031461 + float_val: 0.287978739 + float_val: 0.161815107 + float_val: -0.281398058 + float_val: 2.70276475 + float_val: -0.166961521 + float_val: 0.266388983 + float_val: 0.890943348 + float_val: -0.279832929 + float_val: 1.82808423 + } + } + } +} +node { + name: "InstanceNorm/beta/read" + op: "Identity" + input: "InstanceNorm/beta" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "_class" + value { + list { + s: "loc:@InstanceNorm/beta" + } + } + } +} +node { + name: "InstanceNorm/gamma" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 12 + } + } + float_val: 0.574708045 + float_val: 0.387735426 + float_val: 0.899499536 + float_val: 0.484296113 + float_val: 2.35850787 + float_val: 1.06661248 + float_val: 0.343602151 + float_val: 2.27582788 + float_val: 1.14559281 + float_val: 0.690169275 + float_val: 1.20440173 + float_val: 0.350952208 + } + } + } +} +node { + name: "InstanceNorm/gamma/read" + op: "Identity" + input: "InstanceNorm/gamma" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "_class" + value { + list { + s: "loc:@InstanceNorm/gamma" + } + } + } +} +node { + name: "InstanceNorm/moments/mean/reduction_indices" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + } + int_val: 1 + int_val: 2 + } + } + } +} +node { + name: "InstanceNorm/moments/mean" + op: "Mean" + input: "Input" + input: "InstanceNorm/moments/mean/reduction_indices" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } + attr { + key: "keep_dims" + value { + b: true + } + } +} +node { + name: "InstanceNorm/moments/StopGradient" + op: "StopGradient" + input: "InstanceNorm/moments/mean" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/moments/SquaredDifference" + op: "SquaredDifference" + input: "Input" + input: "InstanceNorm/moments/StopGradient" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/moments/variance/reduction_indices" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + } + int_val: 1 + int_val: 2 + } + } + } +} +node { + name: "InstanceNorm/moments/variance" + op: "Mean" + input: "InstanceNorm/moments/SquaredDifference" + input: "InstanceNorm/moments/variance/reduction_indices" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tidx" + value { + type: DT_INT32 + } + } + attr { + key: "keep_dims" + value { + b: true + } + } +} +node { + name: "InstanceNorm/instancenorm/add/y" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 0.001 + } + } + } +} +node { + name: "InstanceNorm/instancenorm/add" + op: "Add" + input: "InstanceNorm/moments/variance" + input: "InstanceNorm/instancenorm/add/y" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/instancenorm/Rsqrt" + op: "Rsqrt" + input: "InstanceNorm/instancenorm/add" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/instancenorm/mul" + op: "Mul" + input: "InstanceNorm/instancenorm/Rsqrt" + input: "InstanceNorm/gamma/read" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/instancenorm/mul_1" + op: "Mul" + input: "Input" + input: "InstanceNorm/instancenorm/mul" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/instancenorm/mul_2" + op: "Mul" + input: "InstanceNorm/moments/mean" + input: "InstanceNorm/instancenorm/mul" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/instancenorm/sub" + op: "Sub" + input: "InstanceNorm/beta/read" + input: "InstanceNorm/instancenorm/mul_2" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "InstanceNorm/instancenorm/add_1" + op: "Add" + input: "InstanceNorm/instancenorm/mul_1" + input: "InstanceNorm/instancenorm/sub" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} +node { + name: "Relu" + op: "Relu" + input: "InstanceNorm/instancenorm/add_1" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/REGRESSION_0000/test.info b/res/TensorFlowTests/REGRESSION_0000/test.info new file mode 100644 index 000000000..1012f87e8 --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 3] +output, Add:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/REGRESSION_0000/test.pbtxt b/res/TensorFlowTests/REGRESSION_0000/test.pbtxt new file mode 100644 index 000000000..aa552ce65 --- /dev/null +++ b/res/TensorFlowTests/REGRESSION_0000/test.pbtxt @@ -0,0 +1,68 @@ +# Add network with Placeholder and Const as arguments +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: 2 + } + dim { + size: 3 + } + } + float_val: 1.1 + float_val: 2.2 + float_val: 3.3 + float_val: 4.4 + float_val: 5.5 + float_val: 6.6 + } + } + } +} +node { + name: "Add" + op: "Add" + input: "Placeholder" + input: "Const" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Add_000/test.info b/res/TensorFlowTests/UNIT_Add_000/test.info new file mode 100644 index 000000000..77c2dbe0d --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_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, add:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_Add_000/test.pbtxt b/res/TensorFlowTests/UNIT_Add_000/test.pbtxt new file mode 100644 index 000000000..b03826840 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_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: "add" + op: "Add" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Add_001/test.info b/res/TensorFlowTests/UNIT_Add_001/test.info new file mode 100644 index 000000000..f99f0f808 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_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, add:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Add_001/test.pbtxt b/res/TensorFlowTests/UNIT_Add_001/test.pbtxt new file mode 100644 index 000000000..ff89686b8 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_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: "add" + op: "Add" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Add_002/test.info b/res/TensorFlowTests/UNIT_Add_002/test.info new file mode 100644 index 000000000..4471cff17 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_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, add:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Add_002/test.pbtxt b/res/TensorFlowTests/UNIT_Add_002/test.pbtxt new file mode 100644 index 000000000..5e320a413 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_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: "add" + op: "Add" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Add_003/test.info b/res/TensorFlowTests/UNIT_Add_003/test.info new file mode 100644 index 000000000..8c87db7ea --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_003/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 5] +input, input_02:0, TF_FLOAT, [] +output, add:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Add_003/test.pbtxt b/res/TensorFlowTests/UNIT_Add_003/test.pbtxt new file mode 100644 index 000000000..96b9219af --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_003/test.pbtxt @@ -0,0 +1,58 @@ +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 { + } + } + } +} +node { + name: "add" + op: "Add" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Add_004/test.info b/res/TensorFlowTests/UNIT_Add_004/test.info new file mode 100644 index 000000000..201dfd6fc --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_004/test.info @@ -0,0 +1,2 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 5] +output, add:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Add_004/test.pbtxt b/res/TensorFlowTests/UNIT_Add_004/test.pbtxt new file mode 100644 index 000000000..ca9295022 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_004/test.pbtxt @@ -0,0 +1,62 @@ +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: "scala" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + } + float_val: 1.0 + } + } + } +} +node { + name: "add" + op: "Add" + input: "input_01" + input: "scala" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Add_005/test.info b/res/TensorFlowTests/UNIT_Add_005/test.info new file mode 100644 index 000000000..7cd730ae6 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_005/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 1, 1, 5] +input, input_02:0, TF_FLOAT, [1, 3, 3, 5] +output, add:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Add_005/test.pbtxt b/res/TensorFlowTests/UNIT_Add_005/test.pbtxt new file mode 100644 index 000000000..cc28366b7 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Add_005/test.pbtxt @@ -0,0 +1,49 @@ +# LHS broadcasting +node { + name: "input_01" + 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: "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: 5 } + } + } + } +} +node { + name: "add" + op: "Add" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { type: DT_FLOAT } + } +} diff --git a/res/TensorFlowTests/UNIT_AvgPool_000/test.info b/res/TensorFlowTests/UNIT_AvgPool_000/test.info new file mode 100644 index 000000000..31c94cffa --- /dev/null +++ b/res/TensorFlowTests/UNIT_AvgPool_000/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 3, 3, 1] +output, avgpool2d:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_AvgPool_000/test.pbtxt b/res/TensorFlowTests/UNIT_AvgPool_000/test.pbtxt new file mode 100644 index 000000000..8c71f0b9e --- /dev/null +++ b/res/TensorFlowTests/UNIT_AvgPool_000/test.pbtxt @@ -0,0 +1,74 @@ +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: 1 + } + } + } + } +} +node { + name: "avgpool2d" + op: "AvgPool" + input: "placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "ksize" + value { + list { + i: 1 + i: 3 + i: 3 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_AvgPool_001/test.info b/res/TensorFlowTests/UNIT_AvgPool_001/test.info new file mode 100644 index 000000000..2cf5bfe34 --- /dev/null +++ b/res/TensorFlowTests/UNIT_AvgPool_001/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 4, 4, 1] +output, avgpool2d:0, TF_FLOAT, [1, 2, 2, 1] diff --git a/res/TensorFlowTests/UNIT_AvgPool_001/test.pbtxt b/res/TensorFlowTests/UNIT_AvgPool_001/test.pbtxt new file mode 100644 index 000000000..faf117ca4 --- /dev/null +++ b/res/TensorFlowTests/UNIT_AvgPool_001/test.pbtxt @@ -0,0 +1,74 @@ +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 4 + } + dim { + size: 4 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "avgpool2d" + op: "AvgPool" + input: "placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "ksize" + value { + list { + i: 1 + i: 2 + i: 2 + 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_BiasAdd_000/test.info b/res/TensorFlowTests/UNIT_BiasAdd_000/test.info new file mode 100644 index 000000000..cbb4f38dd --- /dev/null +++ b/res/TensorFlowTests/UNIT_BiasAdd_000/test.info @@ -0,0 +1 @@ +output, out:0, TF_FLOAT, [1, 5, 5, 3] diff --git a/res/TensorFlowTests/UNIT_BiasAdd_000/test.pbtxt b/res/TensorFlowTests/UNIT_BiasAdd_000/test.pbtxt new file mode 100644 index 000000000..642eac655 --- /dev/null +++ b/res/TensorFlowTests/UNIT_BiasAdd_000/test.pbtxt @@ -0,0 +1,57 @@ +node { + name: "val" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 1 } + dim { size: 5 } + dim { size: 5 } + dim { size: 3 } + } + float_val: 2.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: 3 } + } + float_val: 1.1 + } + } + } +} +node { + name: "out" + op: "BiasAdd" + input: "val" + input: "bias" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } +} diff --git a/res/TensorFlowTests/UNIT_BiasAdd_001/test.info b/res/TensorFlowTests/UNIT_BiasAdd_001/test.info new file mode 100644 index 000000000..04c89d69c --- /dev/null +++ b/res/TensorFlowTests/UNIT_BiasAdd_001/test.info @@ -0,0 +1 @@ +output, out:0, TF_FLOAT, [1, 3, 4, 4] diff --git a/res/TensorFlowTests/UNIT_BiasAdd_001/test.pbtxt b/res/TensorFlowTests/UNIT_BiasAdd_001/test.pbtxt new file mode 100644 index 000000000..6b543084d --- /dev/null +++ b/res/TensorFlowTests/UNIT_BiasAdd_001/test.pbtxt @@ -0,0 +1,57 @@ +node { + name: "val" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { size: 1 } + dim { size: 3 } + dim { size: 4 } + dim { size: 4 } + } + float_val: 2.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: 3 } + } + float_val: 1.1 + } + } + } +} +node { + name: "out" + op: "BiasAdd" + input: "val" + input: "bias" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NCHW" } + } +} diff --git a/res/TensorFlowTests/UNIT_BiasAdd_002/test.info b/res/TensorFlowTests/UNIT_BiasAdd_002/test.info new file mode 100644 index 000000000..2133df438 --- /dev/null +++ b/res/TensorFlowTests/UNIT_BiasAdd_002/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 16, 16, 2] +output, output:0, TF_FLOAT, [1, 16, 16, 2] diff --git a/res/TensorFlowTests/UNIT_BiasAdd_002/test.pbtxt b/res/TensorFlowTests/UNIT_BiasAdd_002/test.pbtxt new file mode 100644 index 000000000..336a10338 --- /dev/null +++ b/res/TensorFlowTests/UNIT_BiasAdd_002/test.pbtxt @@ -0,0 +1,51 @@ +node { + name: "input" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 16 } + dim { size: 16 } + dim { size: 2 } + } + } + } +} +node { + name: "bias" + op: "Const" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { dim { size: 2 } } + float_val: 1.0 + } + } + } +} +node { + name: "output" + op: "BiasAdd" + input: "input" + input: "bias" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } +} diff --git a/res/TensorFlowTests/UNIT_Concat_000/test.info b/res/TensorFlowTests/UNIT_Concat_000/test.info new file mode 100644 index 000000000..9ea940f2a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Concat_000/test.info @@ -0,0 +1 @@ +output, Concat:0, TF_FLOAT, [4, 3] diff --git a/res/TensorFlowTests/UNIT_Concat_000/test.pbtxt b/res/TensorFlowTests/UNIT_Concat_000/test.pbtxt new file mode 100644 index 000000000..77dbea792 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Concat_000/test.pbtxt @@ -0,0 +1,110 @@ +node { + name: "Input01" + 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 + } + } + float_val: 1 + float_val: 2 + float_val: 3 + float_val: 4 + float_val: 5 + float_val: 6 + } + } + } +} +node { + name: "Input02" + 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 + } + } + float_val: 7 + float_val: 8 + float_val: 9 + float_val: 10 + float_val: 11 + float_val: 12 + } + } + } +} +node { + name: "Axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 0 + } + } + } +} +node { + name: "Concat" + op: "ConcatV2" + input: "Input01" + input: "Input02" + input: "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/UNIT_Concat_001/test.info b/res/TensorFlowTests/UNIT_Concat_001/test.info new file mode 100644 index 000000000..e2add430f --- /dev/null +++ b/res/TensorFlowTests/UNIT_Concat_001/test.info @@ -0,0 +1 @@ +output, Concat:0, TF_FLOAT, [6, 3] diff --git a/res/TensorFlowTests/UNIT_Concat_001/test.pbtxt b/res/TensorFlowTests/UNIT_Concat_001/test.pbtxt new file mode 100644 index 000000000..ac3e85581 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Concat_001/test.pbtxt @@ -0,0 +1,143 @@ +node { + name: "Input01" + 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 + } + } + float_val: 1 + float_val: 2 + float_val: 3 + float_val: 4 + float_val: 5 + float_val: 6 + } + } + } +} +node { + name: "Input02" + 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 + } + } + float_val: 7 + float_val: 8 + float_val: 9 + float_val: 10 + float_val: 11 + float_val: 12 + } + } + } +} +node { + name: "Input03" + 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 + } + } + float_val: 13 + float_val: 14 + float_val: 15 + float_val: 16 + float_val: 17 + float_val: 18 + } + } + } +} +node { + name: "Axis" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: 0 + } + } + } +} +node { + name: "Concat" + op: "ConcatV2" + input: "Input01" + input: "Input02" + input: "Input03" + input: "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/UNIT_Concat_002/test.info b/res/TensorFlowTests/UNIT_Concat_002/test.info new file mode 100644 index 000000000..460093bd5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Concat_002/test.info @@ -0,0 +1,3 @@ +input, Input01:0, TF_FLOAT, [2, 3] +input, Input02:0, TF_FLOAT, [2, 3] +output, Concat:0, TF_FLOAT, [2, 6] diff --git a/res/TensorFlowTests/UNIT_Concat_002/test.pbtxt b/res/TensorFlowTests/UNIT_Concat_002/test.pbtxt new file mode 100644 index 000000000..9a524040a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Concat_002/test.pbtxt @@ -0,0 +1,92 @@ +node { + name: "Input01" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "Input02" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "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" + op: "ConcatV2" + input: "Input01" + input: "Input02" + input: "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/UNIT_Const_000/test.info b/res/TensorFlowTests/UNIT_Const_000/test.info new file mode 100644 index 000000000..43b4f06a5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Const_000/test.info @@ -0,0 +1 @@ +output, const/float:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/UNIT_Const_000/test.pbtxt b/res/TensorFlowTests/UNIT_Const_000/test.pbtxt new file mode 100644 index 000000000..b91ade2f3 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Const_000/test.pbtxt @@ -0,0 +1,32 @@ +node { + name: "const/float" + 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 + } + } + float_val: 1.1 + float_val: 2.2 + float_val: 3.3 + float_val: 4.4 + float_val: 5.5 + float_val: 6.6 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Const_001/test.info b/res/TensorFlowTests/UNIT_Const_001/test.info new file mode 100644 index 000000000..445b34b67 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Const_001/test.info @@ -0,0 +1 @@ +output, const/int32:0, TF_INT32, [2, 3] diff --git a/res/TensorFlowTests/UNIT_Const_001/test.pbtxt b/res/TensorFlowTests/UNIT_Const_001/test.pbtxt new file mode 100644 index 000000000..bec7dfb92 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Const_001/test.pbtxt @@ -0,0 +1,32 @@ +node { + name: "const/int32" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + dim { + size: 3 + } + } + int_val: 1 + int_val: 2 + int_val: 3 + int_val: 4 + int_val: 5 + int_val: 6 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_001/test.info b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_001/test.info new file mode 100644 index 000000000..2537d0732 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_001/test.info @@ -0,0 +1,2 @@ +input, ifm:0, TF_FLOAT, [1, 8, 6, 3] +output, ofm:0, TF_FLOAT, [1, 16, 12, 2] diff --git a/res/TensorFlowTests/UNIT_Conv2DBackpropInput_001/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_001/test.pbtxt new file mode 100644 index 000000000..8930c4221 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2DBackpropInput_001/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: 16 + int_val: 12 + 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: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Conv2D_000/test.info b/res/TensorFlowTests/UNIT_Conv2D_000/test.info new file mode 100644 index 000000000..22facc3fb --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_000/test.info @@ -0,0 +1,3 @@ +# conv2d with VALID, stride = 1, 1 +input, ifm:0, TF_FLOAT, [1, 5, 5, 3] +output, ofm:0, TF_FLOAT, [1, 4, 4, 2] diff --git a/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt b/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt new file mode 100644 index 000000000..3649aa827 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Conv2D_000/test.pbtxt @@ -0,0 +1,76 @@ +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: 1 i: 1 i: 1 } + } + } + attr { + key: "use_cudnn_on_gpu" + value { b: false } + } +} diff --git a/res/TensorFlowTests/UNIT_CustomOp_000/customop.conf b/res/TensorFlowTests/UNIT_CustomOp_000/customop.conf new file mode 100644 index 000000000..08ba0f09a --- /dev/null +++ b/res/TensorFlowTests/UNIT_CustomOp_000/customop.conf @@ -0,0 +1,22 @@ +# defining a list of custom ops for this compilation +custom_op { + name: "my/customOp/000" + op: "new_custom_op" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "output_shape" + value { + shape { + dim { size: 1 } + dim { size: 2 } + dim { size: 1 } + dim { size: 2 } + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_CustomOp_000/test.info b/res/TensorFlowTests/UNIT_CustomOp_000/test.info new file mode 100644 index 000000000..e3e2b176e --- /dev/null +++ b/res/TensorFlowTests/UNIT_CustomOp_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 1, 2] +output, output/relu:0, TF_FLOAT, [1, 2, 1, 2] diff --git a/res/TensorFlowTests/UNIT_CustomOp_000/test.pbtxt b/res/TensorFlowTests/UNIT_CustomOp_000/test.pbtxt new file mode 100644 index 000000000..373f5b845 --- /dev/null +++ b/res/TensorFlowTests/UNIT_CustomOp_000/test.pbtxt @@ -0,0 +1,53 @@ +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: 1 } + dim { size: 2 } + } + } + } +} +node { + name: "my/customOp/000" + op: "new_custom_op" + input: "Placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "my_string" + value { s: "Hello World" } + } + attr { + key: "my_float" + value { f: 0.001 } + } + attr { + key: "my_int" + value { i: 111 } + } + attr { + key: "my_bool" + value { b: false } + } +} +node { + name: "output/relu" + op: "Relu" + input: "my/customOp/000" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_CustomOp_001/customop.conf b/res/TensorFlowTests/UNIT_CustomOp_001/customop.conf new file mode 100644 index 000000000..92c0dd2f2 --- /dev/null +++ b/res/TensorFlowTests/UNIT_CustomOp_001/customop.conf @@ -0,0 +1,19 @@ +# defining a list of custom ops for this compilation +custom_op { + name: "FillFrom" + op: "FillFrom" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "output_shape" + value { + shape { + dim { size: 10 } + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_CustomOp_001/test.info b/res/TensorFlowTests/UNIT_CustomOp_001/test.info new file mode 100644 index 000000000..473374cd1 --- /dev/null +++ b/res/TensorFlowTests/UNIT_CustomOp_001/test.info @@ -0,0 +1,2 @@ +input, input_00:0, TF_FLOAT, [10] +output, FillFrom:0, TF_FLOAT, [10] diff --git a/res/TensorFlowTests/UNIT_CustomOp_001/test.pbtxt b/res/TensorFlowTests/UNIT_CustomOp_001/test.pbtxt new file mode 100644 index 000000000..ad673e0a7 --- /dev/null +++ b/res/TensorFlowTests/UNIT_CustomOp_001/test.pbtxt @@ -0,0 +1,38 @@ +# test case discussed in https://github.sec.samsung.net/STAR/nnfw/issues/5607 +node { + name: "input_00" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 10 + } + } + } + } +} +node { + name: "FillFrom" + op: "FillFrom" + input: "input_00" + attr { + key: "idx" + value { + i: 3 + } + } + attr { + key: "val" + value { + f: 1.1 + } + } +} diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.info b/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.info new file mode 100644 index 000000000..96a2b1403 --- /dev/null +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 11, 7, 3] +output, DepthwiseConv2dNative:0, TF_FLOAT, [1, 6, 4, 12] diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.pbtxt b/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.pbtxt new file mode 100644 index 000000000..1d8fcaa00 --- /dev/null +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2D_000/test.pbtxt @@ -0,0 +1,115 @@ +# A simple network that has DepthwiseConv2dNative with 'SAME' padding and strides. +# HOW TO GENERATE: +# import tensorflow as tf +# input = tf.placeholder(tf.float32, shape=[1,11,7,3], name="input") +# filter = tf.constant(1.0, shape=[2,3,3,4], dtype=tf.float32) +# dwconv = tf.nn.depthwise_conv2d_native(input,filter,[1,2,2,1],'SAME') +# tf.get_default_graph().as_graph_def() +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 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.info b/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.info new file mode 100644 index 000000000..c17595388 --- /dev/null +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.info @@ -0,0 +1,2 @@ +input, input:0, TF_FLOAT, [1, 4, 4, 3] +output, DepthwiseConv2dNative:0, TF_FLOAT, [1, 3, 3, 6] diff --git a/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.pbtxt b/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.pbtxt new file mode 100644 index 000000000..9a9717611 --- /dev/null +++ b/res/TensorFlowTests/UNIT_DepthwiseConv2D_001/test.pbtxt @@ -0,0 +1,115 @@ +# A simple network that has DepthwiseConv2dNative with input(Placeholder) and filter(Const) +# HOW TO GENERATE: +# import tensorflow as tf +# input = tf.placeholder(tf.float32, shape=[1,4,4,3], name="input") +# filter = tf.constant(1.0, shape=[2,2,3,2], dtype=tf.float32) +# dwconv = tf.nn.depthwise_conv2d_native(input,filter,[1,1,1,1],'VALID') +# tf.get_default_graph().as_graph_def() +node { + name: "input" + op: "Placeholder" + 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: "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: 2 + } + dim { + size: 3 + } + dim { + size: 2 + } + } + 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: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_FusedBatchNorm_000/test.info b/res/TensorFlowTests/UNIT_FusedBatchNorm_000/test.info new file mode 100644 index 000000000..30840e8e3 --- /dev/null +++ b/res/TensorFlowTests/UNIT_FusedBatchNorm_000/test.info @@ -0,0 +1,3 @@ +# FusedBatchNorm +input, placeholder:0, TF_FLOAT, [1, 4, 4, 1] +output, FBN_01:0, TF_FLOAT, [1, 4, 4, 1] diff --git a/res/TensorFlowTests/UNIT_FusedBatchNorm_000/test.pbtxt b/res/TensorFlowTests/UNIT_FusedBatchNorm_000/test.pbtxt new file mode 100644 index 000000000..40cec4abc --- /dev/null +++ b/res/TensorFlowTests/UNIT_FusedBatchNorm_000/test.pbtxt @@ -0,0 +1,158 @@ +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 1 + } + dim { + size: 4 + } + dim { + size: 4 + } + dim { + size: 1 + } + } + } + } +} +node { + name: "scale" + 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: "offset" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 0.0 + } + } + } +} +node { + name: "FBN_01/mean" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 1 + } + } + float_val: 0.0 + } + } + } +} +node { + name: "FBN_01/variance" + 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: "FBN_01" + op: "FusedBatchNorm" + input: "placeholder" + input: "scale" + input: "offset" + input: "FBN_01/mean" + input: "FBN_01/variance" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "epsilon" + value { + f: 0.001 + } + } + attr { + key: "is_training" + value { + b: false + } + } +} diff --git a/res/TensorFlowTests/UNIT_FusedBatchNorm_001/test.info b/res/TensorFlowTests/UNIT_FusedBatchNorm_001/test.info new file mode 100644 index 000000000..09141a44e --- /dev/null +++ b/res/TensorFlowTests/UNIT_FusedBatchNorm_001/test.info @@ -0,0 +1,3 @@ +# FusedBatchNorm +input, placeholder:0, TF_FLOAT, [1, 4, 4, 3] +output, FBN_01:0, TF_FLOAT, [1, 4, 4, 3] diff --git a/res/TensorFlowTests/UNIT_FusedBatchNorm_001/test.pbtxt b/res/TensorFlowTests/UNIT_FusedBatchNorm_001/test.pbtxt new file mode 100644 index 000000000..9ebeadf70 --- /dev/null +++ b/res/TensorFlowTests/UNIT_FusedBatchNorm_001/test.pbtxt @@ -0,0 +1,158 @@ +node { + name: "placeholder" + op: "Placeholder" + 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: "scale" + 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.5 + } + } + } +} +node { + name: "offset" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + } + float_val: 2.5 + } + } + } +} +node { + name: "FBN_01/mean" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + } + float_val: 3.5 + } + } + } +} +node { + name: "FBN_01/variance" + op: "Const" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + } + float_val: 4.5 + } + } + } +} +node { + name: "FBN_01" + op: "FusedBatchNorm" + input: "placeholder" + input: "scale" + input: "offset" + input: "FBN_01/mean" + input: "FBN_01/variance" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "epsilon" + value { + f: 0.001 + } + } + attr { + key: "is_training" + value { + b: false + } + } +} diff --git a/res/TensorFlowTests/UNIT_MaxPool_000/test.info b/res/TensorFlowTests/UNIT_MaxPool_000/test.info new file mode 100644 index 000000000..c94e2e7fb --- /dev/null +++ b/res/TensorFlowTests/UNIT_MaxPool_000/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 3, 3, 1] +output, maxpool2d:0, TF_FLOAT, [1, 2, 2, 1] diff --git a/res/TensorFlowTests/UNIT_MaxPool_000/test.pbtxt b/res/TensorFlowTests/UNIT_MaxPool_000/test.pbtxt new file mode 100644 index 000000000..81da5bbd5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_MaxPool_000/test.pbtxt @@ -0,0 +1,74 @@ +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: 1 + } + } + } + } +} +node { + name: "maxpool2d" + op: "MaxPool" + input: "placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "data_format" + value { + s: "NHWC" + } + } + attr { + key: "ksize" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } + attr { + key: "padding" + value { + s: "VALID" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} diff --git a/res/TensorFlowTests/UNIT_MaxPool_001/test.info b/res/TensorFlowTests/UNIT_MaxPool_001/test.info new file mode 100644 index 000000000..513a83c84 --- /dev/null +++ b/res/TensorFlowTests/UNIT_MaxPool_001/test.info @@ -0,0 +1,2 @@ +input, placeholder:0, TF_FLOAT, [1, 4, 4, 1] +output, maxpool2d:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_MaxPool_001/test.pbtxt b/res/TensorFlowTests/UNIT_MaxPool_001/test.pbtxt new file mode 100644 index 000000000..dfa58d440 --- /dev/null +++ b/res/TensorFlowTests/UNIT_MaxPool_001/test.pbtxt @@ -0,0 +1,48 @@ +node { + name: "placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 1 } + dim { size: 4 } + dim { size: 4 } + dim { size: 1 } + } + } + } +} +node { + name: "maxpool2d" + op: "MaxPool" + input: "placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "data_format" + value { s: "NHWC" } + } + attr { + key: "ksize" + value { + list { i: 1 i: 2 i: 2 i: 1 } + } + } + attr { + key: "padding" + value { s: "VALID" } + } + attr { + key: "strides" + value { + list { i: 1 i: 1 i: 1 i: 1 } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Mean_000/test.info b/res/TensorFlowTests/UNIT_Mean_000/test.info new file mode 100644 index 000000000..fed1cbd60 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 2] +output, Mean:0, TF_FLOAT, [1, 1, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Mean_000/test.pbtxt b/res/TensorFlowTests/UNIT_Mean_000/test.pbtxt new file mode 100644 index 000000000..8a9f7848f --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_000/test.pbtxt @@ -0,0 +1,68 @@ +# Reference Python code: +# +# import tensorflow as tf +# +# inp = tf.placeholder(tf.float32, [1,3,3,2]) +# mean = tf.math.reduce_mean(inp, keepdims=True, axis=[1,2]) +# +# print(tf.get_default_graph().as_graph_def()) +# +# WARNING! Below GraphDef is modified to make it easy to read +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: 2 } + } + } + } +} +node { + name: "Mean/reduction_indices" + op: "Const" + attr { + key: "dtype" + value { type: DT_INT32 } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { size: 2 } + } + int_val: 1 + int_val: 2 + } + } + } +} +node { + name: "Mean" + op: "Mean" + input: "Placeholder" + input: "Mean/reduction_indices" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tidx" + value { type: DT_INT32 } + } + attr { + key: "keep_dims" + value { b: true } + } +} diff --git a/res/TensorFlowTests/UNIT_Mean_001/test.info b/res/TensorFlowTests/UNIT_Mean_001/test.info new file mode 100644 index 000000000..682e7cb20 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_001/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 2] +output, Mean:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UNIT_Mean_001/test.pbtxt b/res/TensorFlowTests/UNIT_Mean_001/test.pbtxt new file mode 100644 index 000000000..a579b2c9b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_001/test.pbtxt @@ -0,0 +1,68 @@ +# Reference Python code: +# +# import tensorflow as tf +# +# inp = tf.placeholder(tf.float32, [1,3,3,2]) +# mean = tf.math.reduce_mean(inp, keepdims=False, axis=[1,2]) +# +# print(tf.get_default_graph().as_graph_def()) +# +# WARNING! Below GraphDef is modified to make it easy to read +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: 2 } + } + } + } +} +node { + name: "Mean/reduction_indices" + op: "Const" + attr { + key: "dtype" + value { type: DT_INT32 } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { size: 2 } + } + int_val: 1 + int_val: 2 + } + } + } +} +node { + name: "Mean" + op: "Mean" + input: "Placeholder" + input: "Mean/reduction_indices" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tidx" + value { type: DT_INT32 } + } + attr { + key: "keep_dims" + value { b: false } + } +} diff --git a/res/TensorFlowTests/UNIT_Mean_002/test.info b/res/TensorFlowTests/UNIT_Mean_002/test.info new file mode 100644 index 000000000..682e7cb20 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_002/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 2] +output, Mean:0, TF_FLOAT, [1, 2] diff --git a/res/TensorFlowTests/UNIT_Mean_002/test.pbtxt b/res/TensorFlowTests/UNIT_Mean_002/test.pbtxt new file mode 100644 index 000000000..1d129f9a2 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_002/test.pbtxt @@ -0,0 +1,68 @@ +# Reference Python code: +# +# import tensorflow as tf +# +# inp = tf.placeholder(tf.float32, [1,3,3,2]) +# mean = tf.math.reduce_mean(inp, keepdims=False, axis=[-2,-3]) +# +# print(tf.get_default_graph().as_graph_def()) +# +# WARNING! Below GraphDef is modified to make it easy to read +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: 2 } + } + } + } +} +node { + name: "Mean/reduction_indices" + op: "Const" + attr { + key: "dtype" + value { type: DT_INT32 } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { size: 2 } + } + int_val: -2 + int_val: -3 + } + } + } +} +node { + name: "Mean" + op: "Mean" + input: "Placeholder" + input: "Mean/reduction_indices" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tidx" + value { type: DT_INT32 } + } + attr { + key: "keep_dims" + value { b: false } + } +} diff --git a/res/TensorFlowTests/UNIT_Mean_003/test.info b/res/TensorFlowTests/UNIT_Mean_003/test.info new file mode 100644 index 000000000..fed1cbd60 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_003/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 2] +output, Mean:0, TF_FLOAT, [1, 1, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Mean_003/test.pbtxt b/res/TensorFlowTests/UNIT_Mean_003/test.pbtxt new file mode 100644 index 000000000..383a1f2ea --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mean_003/test.pbtxt @@ -0,0 +1,68 @@ +# Reference Python code: +# +# import tensorflow as tf +# +# inp = tf.placeholder(tf.float32, [1,3,3,2]) +# mean = tf.math.reduce_mean(inp, keepdims=True, axis=[-2,-3]) +# +# print(tf.get_default_graph().as_graph_def()) +# +# WARNING! Below GraphDef is modified to make it easy to read +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: 2 } + } + } + } +} +node { + name: "Mean/reduction_indices" + op: "Const" + attr { + key: "dtype" + value { type: DT_INT32 } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { size: 2 } + } + int_val: -2 + int_val: -3 + } + } + } +} +node { + name: "Mean" + op: "Mean" + input: "Placeholder" + input: "Mean/reduction_indices" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "Tidx" + value { type: DT_INT32 } + } + attr { + key: "keep_dims" + value { b: true } + } +} diff --git a/res/TensorFlowTests/UNIT_Mul_000/test.info b/res/TensorFlowTests/UNIT_Mul_000/test.info new file mode 100644 index 000000000..b3cb3ff70 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mul_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, mul:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_Mul_000/test.pbtxt b/res/TensorFlowTests/UNIT_Mul_000/test.pbtxt new file mode 100644 index 000000000..fe6dbc330 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mul_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: "mul" + op: "Mul" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Mul_001/test.info b/res/TensorFlowTests/UNIT_Mul_001/test.info new file mode 100644 index 000000000..9de3a648a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mul_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, mul:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Mul_001/test.pbtxt b/res/TensorFlowTests/UNIT_Mul_001/test.pbtxt new file mode 100644 index 000000000..a96c9ae5a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mul_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: "mul" + op: "Mul" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Mul_002/test.info b/res/TensorFlowTests/UNIT_Mul_002/test.info new file mode 100644 index 000000000..241ccd9df --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mul_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, mul:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Mul_002/test.pbtxt b/res/TensorFlowTests/UNIT_Mul_002/test.pbtxt new file mode 100644 index 000000000..9ad65c9f5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Mul_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: "mul" + op: "Mul" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Placeholder_000/test.info b/res/TensorFlowTests/UNIT_Placeholder_000/test.info new file mode 100644 index 000000000..0d0a8ccc0 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 1, 2] +output, output/identity:0, TF_FLOAT, [1, 2, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Placeholder_000/test.pbtxt b/res/TensorFlowTests/UNIT_Placeholder_000/test.pbtxt new file mode 100644 index 000000000..593fbb2d4 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Placeholder_000/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: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/identity" + op: "Identity" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_RealDiv_000/test.info b/res/TensorFlowTests/UNIT_RealDiv_000/test.info new file mode 100644 index 000000000..b98f2a338 --- /dev/null +++ b/res/TensorFlowTests/UNIT_RealDiv_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, div:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_RealDiv_000/test.pbtxt b/res/TensorFlowTests/UNIT_RealDiv_000/test.pbtxt new file mode 100644 index 000000000..e17d48326 --- /dev/null +++ b/res/TensorFlowTests/UNIT_RealDiv_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: "div" + op: "RealDiv" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_RealDiv_001/test.info b/res/TensorFlowTests/UNIT_RealDiv_001/test.info new file mode 100644 index 000000000..ecc4cc5a3 --- /dev/null +++ b/res/TensorFlowTests/UNIT_RealDiv_001/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 5] +input, input_02:0, TF_FLOAT, [5] +output, div:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_RealDiv_001/test.pbtxt b/res/TensorFlowTests/UNIT_RealDiv_001/test.pbtxt new file mode 100644 index 000000000..4ee3bb898 --- /dev/null +++ b/res/TensorFlowTests/UNIT_RealDiv_001/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: "div" + op: "RealDiv" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Relu6_000/test.info b/res/TensorFlowTests/UNIT_Relu6_000/test.info new file mode 100644 index 000000000..329172400 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Relu6_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 4, 4, 3] +output, Relu6:0, TF_FLOAT, [1, 4, 4, 3] diff --git a/res/TensorFlowTests/UNIT_Relu6_000/test.pbtxt b/res/TensorFlowTests/UNIT_Relu6_000/test.pbtxt new file mode 100644 index 000000000..b2989916c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Relu6_000/test.pbtxt @@ -0,0 +1,30 @@ +node { + name: "Placeholder" + op: "Placeholder" + 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: "Relu6" + op: "Relu6" + input: "Placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } +} diff --git a/res/TensorFlowTests/UNIT_Relu_000/test.info b/res/TensorFlowTests/UNIT_Relu_000/test.info new file mode 100644 index 000000000..e3e2b176e --- /dev/null +++ b/res/TensorFlowTests/UNIT_Relu_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 1, 2] +output, output/relu:0, TF_FLOAT, [1, 2, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Relu_000/test.pbtxt b/res/TensorFlowTests/UNIT_Relu_000/test.pbtxt new file mode 100644 index 000000000..96f21d5de --- /dev/null +++ b/res/TensorFlowTests/UNIT_Relu_000/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: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/relu" + op: "Relu" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Reshape_000/test.info b/res/TensorFlowTests/UNIT_Reshape_000/test.info new file mode 100644 index 000000000..137cdfa8c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Reshape_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [6] +output, Reshape:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/UNIT_Reshape_000/test.pbtxt b/res/TensorFlowTests/UNIT_Reshape_000/test.pbtxt new file mode 100644 index 000000000..a648fb43c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Reshape_000/test.pbtxt @@ -0,0 +1,63 @@ +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 6 + } + } + } + } +} +node { + name: "New_shape" + op: "Const" + attr { + key: "dtype" + value { + type: DT_INT32 + } + } + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + dim { + size: 2 + } + } + int_val: 2 + int_val: 3 + } + } + } +} +node { + name: "Reshape" + op: "Reshape" + input: "Placeholder" + input: "New_shape" + attr { + key: "T" + value { + type: DT_FLOAT + } + } + attr { + key: "Tshape" + value { + type: DT_INT32 + } + } +} diff --git a/res/TensorFlowTests/UNIT_Rsqrt_000/test.info b/res/TensorFlowTests/UNIT_Rsqrt_000/test.info new file mode 100644 index 000000000..b87da7e44 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Rsqrt_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 1, 2] +output, output/rsqrt:0, TF_FLOAT, [1, 2, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Rsqrt_000/test.pbtxt b/res/TensorFlowTests/UNIT_Rsqrt_000/test.pbtxt new file mode 100644 index 000000000..babfc3702 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Rsqrt_000/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: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/rsqrt" + op: "Rsqrt" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Shape_000/test.info b/res/TensorFlowTests/UNIT_Shape_000/test.info new file mode 100644 index 000000000..330c6c22c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Shape_000/test.info @@ -0,0 +1 @@ +output, Shape:0, TF_INT32, [2] diff --git a/res/TensorFlowTests/UNIT_Shape_000/test.pbtxt b/res/TensorFlowTests/UNIT_Shape_000/test.pbtxt new file mode 100644 index 000000000..7a6cab72b --- /dev/null +++ b/res/TensorFlowTests/UNIT_Shape_000/test.pbtxt @@ -0,0 +1,41 @@ +# Simple Shape network +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 + } + } + float_val: 1.0 + } + } + } +} +node { + name: "Shape" + op: "Shape" + input: "Const" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "out_type" + value { type: DT_INT32 } + } +} diff --git a/res/TensorFlowTests/UNIT_Softmax_000/test.info b/res/TensorFlowTests/UNIT_Softmax_000/test.info new file mode 100644 index 000000000..66536b561 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2] +output, Softmax:0, TF_FLOAT, [2] diff --git a/res/TensorFlowTests/UNIT_Softmax_000/test.pbtxt b/res/TensorFlowTests/UNIT_Softmax_000/test.pbtxt new file mode 100644 index 000000000..78451d0b3 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_000/test.pbtxt @@ -0,0 +1,32 @@ +# Softmax with rank-1 tensor +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + } + } + } +} +node { + name: "Softmax" + op: "Softmax" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Softmax_001/test.info b/res/TensorFlowTests/UNIT_Softmax_001/test.info new file mode 100644 index 000000000..fe582132c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_001/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 3] +output, Softmax:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/UNIT_Softmax_001/test.pbtxt b/res/TensorFlowTests/UNIT_Softmax_001/test.pbtxt new file mode 100644 index 000000000..ec6e030bc --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_001/test.pbtxt @@ -0,0 +1,35 @@ +# Softmax with rank-2 tensor +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: "Softmax" + op: "Softmax" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Softmax_002/test.info b/res/TensorFlowTests/UNIT_Softmax_002/test.info new file mode 100644 index 000000000..ae4dcd6a4 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_002/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 3, 4] +output, Softmax:0, TF_FLOAT, [2, 3, 4] diff --git a/res/TensorFlowTests/UNIT_Softmax_002/test.pbtxt b/res/TensorFlowTests/UNIT_Softmax_002/test.pbtxt new file mode 100644 index 000000000..e84d73c78 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_002/test.pbtxt @@ -0,0 +1,38 @@ +# Softmax with rank-3 tensor +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "Softmax" + op: "Softmax" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Softmax_003/test.info b/res/TensorFlowTests/UNIT_Softmax_003/test.info new file mode 100644 index 000000000..97b3574f5 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_003/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 2, 3, 4] +output, Softmax:0, TF_FLOAT, [2, 2, 3, 4] diff --git a/res/TensorFlowTests/UNIT_Softmax_003/test.pbtxt b/res/TensorFlowTests/UNIT_Softmax_003/test.pbtxt new file mode 100644 index 000000000..c4b5ca27f --- /dev/null +++ b/res/TensorFlowTests/UNIT_Softmax_003/test.pbtxt @@ -0,0 +1,41 @@ +# Softmax with rank-4 tensor +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_FLOAT + } + } + attr { + key: "shape" + value { + shape { + dim { + size: 2 + } + dim { + size: 2 + } + dim { + size: 3 + } + dim { + size: 4 + } + } + } + } +} +node { + name: "Softmax" + op: "Softmax" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Sqrt_000/test.info b/res/TensorFlowTests/UNIT_Sqrt_000/test.info new file mode 100644 index 000000000..9abb96a0c --- /dev/null +++ b/res/TensorFlowTests/UNIT_Sqrt_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 1, 2] +output, output/sqrt:0, TF_FLOAT, [1, 2, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Sqrt_000/test.pbtxt b/res/TensorFlowTests/UNIT_Sqrt_000/test.pbtxt new file mode 100644 index 000000000..0324220e9 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Sqrt_000/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: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/sqrt" + op: "Sqrt" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_SquaredDifference_000/test.info b/res/TensorFlowTests/UNIT_SquaredDifference_000/test.info new file mode 100644 index 000000000..cca181d7d --- /dev/null +++ b/res/TensorFlowTests/UNIT_SquaredDifference_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, squared_difference:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_SquaredDifference_000/test.pbtxt b/res/TensorFlowTests/UNIT_SquaredDifference_000/test.pbtxt new file mode 100644 index 000000000..0fca18f0e --- /dev/null +++ b/res/TensorFlowTests/UNIT_SquaredDifference_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: "squared_difference" + op: "SquaredDifference" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_SquaredDifference_001/test.info b/res/TensorFlowTests/UNIT_SquaredDifference_001/test.info new file mode 100644 index 000000000..8dfd36065 --- /dev/null +++ b/res/TensorFlowTests/UNIT_SquaredDifference_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, squared_difference:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_SquaredDifference_001/test.pbtxt b/res/TensorFlowTests/UNIT_SquaredDifference_001/test.pbtxt new file mode 100644 index 000000000..5ef69e22f --- /dev/null +++ b/res/TensorFlowTests/UNIT_SquaredDifference_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: "squared_difference" + op: "SquaredDifference" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Squeeze_000/test.info b/res/TensorFlowTests/UNIT_Squeeze_000/test.info new file mode 100644 index 000000000..fd07403f2 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 4, 4, 3] +output, Squeeze:0, TF_FLOAT, [4, 4, 3] diff --git a/res/TensorFlowTests/UNIT_Squeeze_000/test.pbtxt b/res/TensorFlowTests/UNIT_Squeeze_000/test.pbtxt new file mode 100644 index 000000000..5ad75fca6 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_000/test.pbtxt @@ -0,0 +1,28 @@ +node { + name: "Placeholder" + op: "Placeholder" + 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: "Squeeze" + op: "Squeeze" + input: "Placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } +} diff --git a/res/TensorFlowTests/UNIT_Squeeze_001/test.info b/res/TensorFlowTests/UNIT_Squeeze_001/test.info new file mode 100644 index 000000000..f71e97f93 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_001/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 1, 3, 1] +output, Squeeze:0, TF_FLOAT, [2, 3, 1] diff --git a/res/TensorFlowTests/UNIT_Squeeze_001/test.pbtxt b/res/TensorFlowTests/UNIT_Squeeze_001/test.pbtxt new file mode 100644 index 000000000..641300c10 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_001/test.pbtxt @@ -0,0 +1,35 @@ +# Network with Squeeze that has selective squeeze dimension +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + dim { size: 1 } + dim { size: 3 } + dim { size: 1 } + } + } + } +} +node { + name: "Squeeze" + op: "Squeeze" + input: "Placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "squeeze_dims" + value { + list { i: 1 } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Squeeze_002/test.info b/res/TensorFlowTests/UNIT_Squeeze_002/test.info new file mode 100644 index 000000000..401e102aa --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_002/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 1, 3, 1] +output, Squeeze:0, TF_FLOAT, [2, 1, 3] diff --git a/res/TensorFlowTests/UNIT_Squeeze_002/test.pbtxt b/res/TensorFlowTests/UNIT_Squeeze_002/test.pbtxt new file mode 100644 index 000000000..06d09014a --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_002/test.pbtxt @@ -0,0 +1,35 @@ +# Network with Squeeze that has negative squeeze dimension +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + dim { size: 1 } + dim { size: 3 } + dim { size: 1 } + } + } + } +} +node { + name: "Squeeze" + op: "Squeeze" + input: "Placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "squeeze_dims" + value { + list { i: -1 } + } + } +} diff --git a/res/TensorFlowTests/UNIT_Squeeze_003/test.info b/res/TensorFlowTests/UNIT_Squeeze_003/test.info new file mode 100644 index 000000000..7cc93f354 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_003/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 1, 3, 1] +output, Squeeze:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/UNIT_Squeeze_003/test.pbtxt b/res/TensorFlowTests/UNIT_Squeeze_003/test.pbtxt new file mode 100644 index 000000000..1c760c87f --- /dev/null +++ b/res/TensorFlowTests/UNIT_Squeeze_003/test.pbtxt @@ -0,0 +1,35 @@ +# Network with Squeeze that have multiple negative squeeze dimensions +node { + name: "Placeholder" + op: "Placeholder" + attr { + key: "dtype" + value { type: DT_FLOAT } + } + attr { + key: "shape" + value { + shape { + dim { size: 2 } + dim { size: 1 } + dim { size: 3 } + dim { size: 1 } + } + } + } +} +node { + name: "Squeeze" + op: "Squeeze" + input: "Placeholder" + attr { + key: "T" + value { type: DT_FLOAT } + } + attr { + key: "squeeze_dims" + value { + list { i: -1 i: -3 } + } + } +} diff --git a/res/TensorFlowTests/UNIT_StopGradient_000/test.info b/res/TensorFlowTests/UNIT_StopGradient_000/test.info new file mode 100644 index 000000000..2315306d0 --- /dev/null +++ b/res/TensorFlowTests/UNIT_StopGradient_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [2, 3] +output, StopGradient:0, TF_FLOAT, [2, 3] diff --git a/res/TensorFlowTests/UNIT_StopGradient_000/test.pbtxt b/res/TensorFlowTests/UNIT_StopGradient_000/test.pbtxt new file mode 100644 index 000000000..dae572323 --- /dev/null +++ b/res/TensorFlowTests/UNIT_StopGradient_000/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: 2 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "StopGradient" + op: "StopGradient" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_StopGradient_001/test.info b/res/TensorFlowTests/UNIT_StopGradient_001/test.info new file mode 100644 index 000000000..8f87a218f --- /dev/null +++ b/res/TensorFlowTests/UNIT_StopGradient_001/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 3, 3, 2] +output, StopGradient:0, TF_FLOAT, [1, 3, 3, 2] diff --git a/res/TensorFlowTests/UNIT_StopGradient_001/test.pbtxt b/res/TensorFlowTests/UNIT_StopGradient_001/test.pbtxt new file mode 100644 index 000000000..95e7c358c --- /dev/null +++ b/res/TensorFlowTests/UNIT_StopGradient_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: 3 + } + dim { + size: 3 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "StopGradient" + op: "StopGradient" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Sub_000/test.info b/res/TensorFlowTests/UNIT_Sub_000/test.info new file mode 100644 index 000000000..4a6ba8b83 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Sub_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, sub:0, TF_FLOAT, [1, 3, 3, 1] diff --git a/res/TensorFlowTests/UNIT_Sub_000/test.pbtxt b/res/TensorFlowTests/UNIT_Sub_000/test.pbtxt new file mode 100644 index 000000000..61ecd0221 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Sub_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: "sub" + op: "Sub" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Sub_001/test.info b/res/TensorFlowTests/UNIT_Sub_001/test.info new file mode 100644 index 000000000..313581754 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Sub_001/test.info @@ -0,0 +1,3 @@ +input, input_01:0, TF_FLOAT, [1, 3, 3, 5] +input, input_02:0, TF_FLOAT, [5] +output, sub:0, TF_FLOAT, [1, 3, 3, 5] diff --git a/res/TensorFlowTests/UNIT_Sub_001/test.pbtxt b/res/TensorFlowTests/UNIT_Sub_001/test.pbtxt new file mode 100644 index 000000000..a0ab396f9 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Sub_001/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: "sub" + op: "Sub" + input: "input_01" + input: "input_02" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} diff --git a/res/TensorFlowTests/UNIT_Tanh_000/test.info b/res/TensorFlowTests/UNIT_Tanh_000/test.info new file mode 100644 index 000000000..6655a9ff6 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Tanh_000/test.info @@ -0,0 +1,2 @@ +input, Placeholder:0, TF_FLOAT, [1, 2, 1, 2] +output, output/tanh:0, TF_FLOAT, [1, 2, 1, 2] diff --git a/res/TensorFlowTests/UNIT_Tanh_000/test.pbtxt b/res/TensorFlowTests/UNIT_Tanh_000/test.pbtxt new file mode 100644 index 000000000..7b3d28527 --- /dev/null +++ b/res/TensorFlowTests/UNIT_Tanh_000/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: 1 + } + dim { + size: 2 + } + } + } + } +} +node { + name: "output/tanh" + op: "Tanh" + input: "Placeholder" + attr { + key: "T" + value { + type: DT_FLOAT + } + } +} |