From 60a980ee050d671c161c653617ae413a7111dfd2 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Wed, 29 Apr 2020 14:38:23 +0300 Subject: [PATCH 01/14] testcases draft Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index df12739..98aec01 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -2260,6 +2260,33 @@ def test_mathtransform(): #{"opName": "linear_solve", "outName": "linear_solve/float64_rank3", "varShapes": [[2, 2, 2], [2, 2, 2]], "varTypes": ["float64", "float64"], "varInit": ["uniform", "uniform"], "adjoint": False}, #{"opName": "linear_solve", "outName": "linear_solve/emptyArrayTest/float32", "varShapes": [[0, 2, 2], [0, 2, 2]], "varTypes": ["float32", "float32"], "varInit": ["empty", "empty"], "adjoint": True}, #{"opName": "linear_solve", "outName": "linear_solve/float32_rank3_returns_int64", "varShapes": [[2, 2, 2], [2, 2, 2]], "varTypes": ["float32", "float32"], "varInit": ["uniform", "uniform"], "adjoint": True} + + # NEWLY ADDED OPS + + # OPS works and testcase generated to dl4j-resources + + # {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3", "varShapes": [[16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2}, + # {"opName":"dropout", "outName":"dropout/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2}, + # {"opName":"div", "outName":"div/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, + # {"opName":"is_non_decreasing", "outName":"is_non_decreasing/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, + # {"opName":"leaky_relu", "outName":"leaky_relu/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"], "alpha":0.2}, + # {"opName":"lgamma", "outName":"lgamma/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, + # {"opName":"mod", "outName":"mod/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32", "float32"], "varInit": ["uniform", "uniform"]}, + + # OPS arent work for some reason + + # {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/someoutput", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + # "strides": [1,1,1,1], "padding":"SAME", "data_format":'NHWC' ,"include_batch_in_index": True, "output_dtype": tf.int32}, + # https://gist.github.com/atuzhykov/b9ba46de91c54eda65c24546db11b9d3 looks like problem with CPU compatible + + # {"opName":"empty", "outName":"empty/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, + # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[1,2,3,4,5,6,7,8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":0.,}, + # {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[1, 3, 3, 3, 2], [1, 1, 1, 2, 1], [1, 3, 3, 3, 1]], "varTypes":["float32","float32", "float32"], "varInit": ["uniform","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":1}, + # {"opName":"copy", "outName":"DeepCopy/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, + # for all above: ValueError: Ouput tensor list not set; stacktrace https://gist.github.com/atuzhykov/ce1aaa90e73658e9594f0ed2b959b97c + + + ] ''' From 28dc8f70ac9199c3359c6f8b069ca46d029bd1d9 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Wed, 29 Apr 2020 14:39:36 +0300 Subject: [PATCH 02/14] temp file to run ops in tf mode before writing testcase Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test.py | 87 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 import-tests/tests/test.py diff --git a/import-tests/tests/test.py b/import-tests/tests/test.py new file mode 100644 index 0000000..8126a81 --- /dev/null +++ b/import-tests/tests/test.py @@ -0,0 +1,87 @@ +import tensorflow as tf + +# RECONSTRUCTION OF REQUESTED OP, THIS FILE WILL BE REMOVED BEFORE MERGE +# https://gist.github.com/AlexDBlack/89c57e7916a7c22a1d92db650625c0bf#file-gistfile1-txt-L553-L600 +# Known issue ops that are excluded in the top TFGraphTestAllsameDiff +# Bincount +# ConfusionMatrix +# FusedBatchNormV2/V3 +# LogMatrixDeterminant +# MatrixBandPart + +# Issued ops +# Conv2DTranspose - already in TFGraphTestAllsameDiff +# Conv3DBackpropInput - Op Conv3DBackpropInput is not available in GraphDef version 134. It has been removed in version 10. Use Conv3DBackpropInputV2. +# Copy - AttributeError: module 'tensorflow._api.v1.raw_ops' has no attribute 'Copy' +# CopyHost - AttributeError: module 'tensorflow._api.v1.raw_ops' has no attribute 'CopyHost' +# Mish - addons https://www.tensorflow.org/addons/api_docs/python/tfa/activations/mish +# which is not compatible with 1.15 +# TF 1.15 + +# Conv3DBackpropInputV2 +input = [1, 3, 3, 3, 2] +filter = tf.random.uniform(shape = [1, 1, 1, 2, 1], dtype=tf.dtypes.float32) +out_backprop = tf.random.uniform(shape = [1, 3, 3, 3, 1], dtype=tf.dtypes.float32) +tf.compat.v1.raw_ops.Conv3DBackpropInputV2(input_sizes=input,filter=filter, out_backprop=out_backprop, strides=[1, 1, 1, 1, 1], padding="SAME", dilations=[1, 1, 1, 1, 1], + name=None) + +# CompareAndBitpack +CaB_input = tf.random.uniform(shape = [1,2,3,4,5,6,7,8], dtype=tf.dtypes.float32) +out = tf.raw_ops.CompareAndBitpack(input = CaB_input, threshold =6) + +# DeepCopy +tf.raw_ops.DeepCopy(x = tf.random.uniform(shape = [1,2,3,4,5,6,7,8], dtype=tf.dtypes.float32)) + +# Dropout +tf.nn.dropout( + x=tf.random.uniform(shape = [1,2,3,4], dtype=tf.dtypes.float32), + rate=0.2 + ) + +# Div +tf.raw_ops.Div( + x=tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), + y=tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32) +) + +# Empty +tf.raw_ops.Empty(shape = [1,2,3], dtype=tf.dtypes.float32) + + +# IsNonDecreasing +tf.math.is_non_decreasing( + tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), + name=None + ) + +# LeakyRelu +tf.nn.leaky_relu( + tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), + alpha=0.2, + name=None + ) + +# Lgamma +tf.math.lgamma( + tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), + name=None +) + +# MaxPoolWithArgMax +tf.nn.max_pool_with_argmax( + input=tf.random.uniform(shape = [1,16,16,1], dtype=tf.dtypes.float32), + ksize = [1,1,1,1], + strides = [1,1,1,1], + padding="SAME", + data_format='NHWC', + +) + +# NOTE this is from addons https://www.tensorflow.org/addons/api_docs/python/tfa/activations/mish +# which is not compatible with 1.15 +# from tensorflow_addons.activations.mish import mish +# tfa.activations.mish(tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32)) + +# MOD +tf.raw_ops.Mod( +x=tf.random.uniform(shape = [1,2,3]), y=tf.random.uniform(shape = [1,2,3])) \ No newline at end of file From 90264c15d7f3d0af5aa3080bd9da36597ee6ffa9 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Wed, 29 Apr 2020 17:46:43 +0300 Subject: [PATCH 03/14] new ops added to ops.py and testcase workability checked Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test.py | 87 ---------------------------------- import-tests/tests/test_ops.py | 71 +++++++++++++++------------ import-tests/tfoptests/ops.py | 55 +++++++++++++++++++++ 3 files changed, 96 insertions(+), 117 deletions(-) delete mode 100644 import-tests/tests/test.py diff --git a/import-tests/tests/test.py b/import-tests/tests/test.py deleted file mode 100644 index 8126a81..0000000 --- a/import-tests/tests/test.py +++ /dev/null @@ -1,87 +0,0 @@ -import tensorflow as tf - -# RECONSTRUCTION OF REQUESTED OP, THIS FILE WILL BE REMOVED BEFORE MERGE -# https://gist.github.com/AlexDBlack/89c57e7916a7c22a1d92db650625c0bf#file-gistfile1-txt-L553-L600 -# Known issue ops that are excluded in the top TFGraphTestAllsameDiff -# Bincount -# ConfusionMatrix -# FusedBatchNormV2/V3 -# LogMatrixDeterminant -# MatrixBandPart - -# Issued ops -# Conv2DTranspose - already in TFGraphTestAllsameDiff -# Conv3DBackpropInput - Op Conv3DBackpropInput is not available in GraphDef version 134. It has been removed in version 10. Use Conv3DBackpropInputV2. -# Copy - AttributeError: module 'tensorflow._api.v1.raw_ops' has no attribute 'Copy' -# CopyHost - AttributeError: module 'tensorflow._api.v1.raw_ops' has no attribute 'CopyHost' -# Mish - addons https://www.tensorflow.org/addons/api_docs/python/tfa/activations/mish -# which is not compatible with 1.15 -# TF 1.15 - -# Conv3DBackpropInputV2 -input = [1, 3, 3, 3, 2] -filter = tf.random.uniform(shape = [1, 1, 1, 2, 1], dtype=tf.dtypes.float32) -out_backprop = tf.random.uniform(shape = [1, 3, 3, 3, 1], dtype=tf.dtypes.float32) -tf.compat.v1.raw_ops.Conv3DBackpropInputV2(input_sizes=input,filter=filter, out_backprop=out_backprop, strides=[1, 1, 1, 1, 1], padding="SAME", dilations=[1, 1, 1, 1, 1], - name=None) - -# CompareAndBitpack -CaB_input = tf.random.uniform(shape = [1,2,3,4,5,6,7,8], dtype=tf.dtypes.float32) -out = tf.raw_ops.CompareAndBitpack(input = CaB_input, threshold =6) - -# DeepCopy -tf.raw_ops.DeepCopy(x = tf.random.uniform(shape = [1,2,3,4,5,6,7,8], dtype=tf.dtypes.float32)) - -# Dropout -tf.nn.dropout( - x=tf.random.uniform(shape = [1,2,3,4], dtype=tf.dtypes.float32), - rate=0.2 - ) - -# Div -tf.raw_ops.Div( - x=tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), - y=tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32) -) - -# Empty -tf.raw_ops.Empty(shape = [1,2,3], dtype=tf.dtypes.float32) - - -# IsNonDecreasing -tf.math.is_non_decreasing( - tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), - name=None - ) - -# LeakyRelu -tf.nn.leaky_relu( - tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), - alpha=0.2, - name=None - ) - -# Lgamma -tf.math.lgamma( - tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32), - name=None -) - -# MaxPoolWithArgMax -tf.nn.max_pool_with_argmax( - input=tf.random.uniform(shape = [1,16,16,1], dtype=tf.dtypes.float32), - ksize = [1,1,1,1], - strides = [1,1,1,1], - padding="SAME", - data_format='NHWC', - -) - -# NOTE this is from addons https://www.tensorflow.org/addons/api_docs/python/tfa/activations/mish -# which is not compatible with 1.15 -# from tensorflow_addons.activations.mish import mish -# tfa.activations.mish(tf.random.uniform(shape = [1,2,3], dtype=tf.dtypes.float32)) - -# MOD -tf.raw_ops.Mod( -x=tf.random.uniform(shape = [1,2,3]), y=tf.random.uniform(shape = [1,2,3])) \ No newline at end of file diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 98aec01..acc52df 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -1,5 +1,3 @@ - - import tensorflow as tf from tfoptests.persistor import TensorFlowPersistor from tfoptests.test_graph import TestGraph @@ -149,10 +147,10 @@ def test_mathtransform(): # {"opName": "identity_n", "outName": "identity_n_4", "varShapes":[[2,3], [2], [], [2,1,3]], "varTypes":["float32", "float32", "float32", "float32"], "varInit":["uniform", "uniform", "uniform", "uniform"]} # {"opName": "zeta", "outName": "zeta_rank2", "varShapes":[[2,3], [2,3]], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"]}, # {"opName": "zeta", "outName": "zeta_rank3", "varShapes":[[2,3,2], [2,3,2]], "varTypes":["float32", "float32", "float32"], "varInit":["uniform", "uniform", "uniformt"]}, - #{"opName": "confusion_matrix", "outName": "confusion/no_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":None}, - #{"opName": "confusion_matrix", "outName": "confusion/with_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":5}, - #{"opName": "confusion_matrix", "outName": "confusion/no_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":None}, - #{"opName": "confusion_matrix", "outName": "confusion/with_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":5} +# {"opName": "confusion_matrix", "outName": "confusion/no_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":None}, +# {"opName": "confusion_matrix", "outName": "confusion/with_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":5}, +# {"opName": "confusion_matrix", "outName": "confusion/no_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":None}, +# {"opName": "confusion_matrix", "outName": "confusion/with_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":5} # {"opName": "stack", "outName": "stack/rank0_axis-1", "varShapes":[[], []], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"], "axis":-1}, # {"opName": "stack", "outName": "stack/rank0_axis0", "varShapes":[[], []], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"], "axis":0}, # {"opName": "stack", "outName": "stack/rank1_axis-2", "varShapes":[[3], [3]], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"], "axis":-2}, @@ -1476,6 +1474,11 @@ def test_mathtransform(): #{"opName": "zeros_like", "outName": "zeros_like/rank2_float64", "varShapes": [[3, 12]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "zeros_like", "outName": "zeros_like/rank2_int32", "varShapes": [[3, 10]], "varTypes": ["int32"], "varInit": ["uniform_int10"]}, # {"opName": "zeros_like", "outName": "zeros_like/rank2_int64", "varShapes": [[3, 10]], "varTypes": ["int64"], "varInit": ["uniform_int10"]}, + + + # !! return target(*args, **kwargs) + # TypeError: zeros_like() got an unexpected keyword argument 'input' + #{"opName": "zeros_like", "outName": "zeros_like/rank2_float32_dtype_int8", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int8}, #{"opName": "zeros_like", "outName": "zeros_like/rank2_float32_dtype_int16", "varShapes": [[3, 12]],"varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int16}, # {"opName": "zeros_like", "outName": "zeros_like/rank2_float32_dtype_int32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype":tf.int32}, @@ -1848,6 +1851,10 @@ def test_mathtransform(): # {"opName": "reduce_max", "outName": "emptyReduceAxisTests/reduce_max/rank2", "varShapes":[[2,3]], "varTypes":["float32"], "varInit":["uniform_int5"], "axis":(), "keepdims":False}, # {"opName": "reduce_max", "outName": "emptyReduceAxisTests/reduce_max/rank2_keep", "varShapes":[[2,3]], "varTypes":["float32"], "varInit":["uniform_int5"], "axis":(), "keepdims":True}, + # !!! Creating vars: shapes= [[2]] , dtypes= ['float32'] , init= ['uniform_int5'] + # execute_multinomial not found - no method has been defined for this + # ValueError: Ouput tensor list not set + # {"opName": "multinomial", "outName": "multinomial/logits/sample/rank1", "varShapes":[[2]], "varTypes":["float32"], "varInit":["uniform_int5"], "total_count":4., "sample_shape": 5}, # {"opName": "multinomial", "outName": "multinomial/logits/sample/rank2", "varShapes":[[2, 3]], "varTypes":["float32"], "varInit":["uniform_int5"], "total_count":[4., 2], "sample_shape": 5}, # {"opName": "multinomial_with_p", "outName": "multinomial/prob/sample/rank1", "varShapes":[[2]], "varTypes":["float32"], "varInit":["uniform_int5"], "total_count":4., "sample_shape": 5}, @@ -2037,10 +2044,7 @@ def test_mathtransform(): # {"opName": "bitwise_and", "outName": "bitwise_and/rank2_int32", "varShapes":[[1,2], [1,2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_and", "outName": "bitwise_and/rank2_int64", "varShapes": [[1, 2], [1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_and", "outName": "bitwise_and/rank3_int32", "varShapes":[[1,1, 2], [1,1, 2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, - # {"opName": "bitwise_and", "outName": "bitwise_and/rank3_int64", "varShapes": [[1, 1, 2], [1, 1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, - - # {"opName": "bitwise_or", "outName": "bitwise_or/rank2_int32", "varShapes":[[1,2], [1,2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, - # {"opName": "bitwise_or", "outName": "bitwise_or/rank2_int64", "varShapes": [[1, 2], [1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, + #2_int64", "varShapes": [[1, 2], [1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_or", "outName": "bitwise_or/rank3_int32", "varShapes":[[1,1, 2], [1,1, 2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_or", "outName": "bitwise_or/rank3_int64", "varShapes": [[1, 1, 2], [1, 1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, @@ -2148,18 +2152,18 @@ def test_mathtransform(): #{"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, #{"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, - #{"opName": "roll", "outName": "roll/rank1_float32", "varShapes": [[4]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":0}, - #{"opName": "roll", "outName": "roll/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 0}, - #{"opName": "roll", "outName": "roll/rank2_float32", "varShapes": [[2,4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 0}, - #{"opName": "roll", "outName": "roll/rank2_float32_zeroshift", "varShapes": [[2, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 0, "axis": 1}, - #{"opName": "roll", "outName": "roll/rank2_float32_axis", "varShapes": [[4,5]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":1}, - #{"opName": "roll", "outName": "roll/rank2_float64_axis", "varShapes": [[4,5]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, - #{"opName": "roll", "outName": "roll/rank3_float32_axis", "varShapes": [[4, 5, 3]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 2}, - #{"opName": "roll", "outName": "roll/rank3_float64_axis", "varShapes": [[4, 5, 4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, - #{"opName": "roll", "outName": "roll/rank3_int32_axis", "varShapes": [[4, 5, 4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "shift": 2, "axis": 1}, - #{"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 3}, - #{"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["half"], "varInit": ["uniform"], "shift": 2, "axis": 2}, - #{"opName": "roll", "outName": "roll/int32_long_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "shift": 2, "axis": 3}, + # {"opName": "roll", "outName": "roll/rank1_float32", "varShapes": [[4]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":0}, + # {"opName": "roll", "outName": "roll/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 0}, + # {"opName": "roll", "outName": "roll/rank2_float32", "varShapes": [[2,4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 0}, + # {"opName": "roll", "outName": "roll/rank2_float32_zeroshift", "varShapes": [[2, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 0, "axis": 1}, + # {"opName": "roll", "outName": "roll/rank2_float32_axis", "varShapes": [[4,5]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":1}, + # {"opName": "roll", "outName": "roll/rank2_float64_axis", "varShapes": [[4,5]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, + # {"opName": "roll", "outName": "roll/rank3_float32_axis", "varShapes": [[4, 5, 3]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 2}, + # {"opName": "roll", "outName": "roll/rank3_float64_axis", "varShapes": [[4, 5, 4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, + # {"opName": "roll", "outName": "roll/rank3_int32_axis", "varShapes": [[4, 5, 4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "shift": 2, "axis": 1}, + # {"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 3}, + # {"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["half"], "varInit": ["uniform"], "shift": 2, "axis": 2}, + # {"opName": "roll", "outName": "roll/int32_long_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "shift": 2, "axis": 3}, #{"opName": "roll", "outName": "roll_test/rank1_float32", "varShapes": [[1024]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":0}, #{"opName": "roll", "outName": "roll_test/rank2_float32", "varShapes": [[102,204]], "varTypes": ["float32","float32"], "varInit": ["uniform","uniform"], "shift": 0, "axis": 1}, @@ -2272,18 +2276,25 @@ def test_mathtransform(): # {"opName":"leaky_relu", "outName":"leaky_relu/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"], "alpha":0.2}, # {"opName":"lgamma", "outName":"lgamma/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, # {"opName":"mod", "outName":"mod/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32", "float32"], "varInit": ["uniform", "uniform"]}, + # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":0.,}, + # {"opName":"empty", "outName":"empty/someoutput", "varShapes":[[5]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32}, + # {"opName":"deep_copy", "outName":"DeepCopy/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, + # {"opName":"ones_like", "outName":"ones_like/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, + # {"opName": "random_crop", "outName": "random_crop/rank3_float32", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float32", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, + # {"opName": "random_gamma", "outName": "random_gamma/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10","uniform"], "seed":1, "alpha":[0.5, 1.5], "dtype":tf.float32}, + # {"opName": "random_poisson", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 1.5],"dtype":tf.float32}, + # {"opName": "random_poisson_v2", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "rate":[0.5, 1.5],"dtype":tf.float32}, + # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":12345}, +# {"opName": "random_normal", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float32}, + {"opName": "random_uniform", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, + - # OPS arent work for some reason + # OPS arent work for some reason + # https://gist.github.com/atuzhykov/b9ba46de91c54eda65c24546db11b9d3 looks like problem with CPU compatible # {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/someoutput", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], # "strides": [1,1,1,1], "padding":"SAME", "data_format":'NHWC' ,"include_batch_in_index": True, "output_dtype": tf.int32}, - # https://gist.github.com/atuzhykov/b9ba46de91c54eda65c24546db11b9d3 looks like problem with CPU compatible - - # {"opName":"empty", "outName":"empty/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, - # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[1,2,3,4,5,6,7,8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":0.,}, - # {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[1, 3, 3, 3, 2], [1, 1, 1, 2, 1], [1, 3, 3, 3, 1]], "varTypes":["float32","float32", "float32"], "varInit": ["uniform","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":1}, - # {"opName":"copy", "outName":"DeepCopy/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, - # for all above: ValueError: Ouput tensor list not set; stacktrace https://gist.github.com/atuzhykov/ce1aaa90e73658e9594f0ed2b959b97c + # {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[5], [1, 1, 1, 3, 1], [1, 3, 3, 3, 1]], "varTypes":["int32","float32", "float32"], "varInit": ["uniform_int10","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1]}, diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index 887669c..fc5fc7f 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -1404,3 +1404,58 @@ def execute_linear_solve(self): def execute_lstsq(self): return [tf.linalg.lstsq(self.vars[0], self.vars[1], l2_regularizer = self.op["l2_regularizer"], fast = self.op["fast"])] + + def execute_compare_and_bitpack(self): + return [tf.raw_ops.CompareAndBitpack(input=self.vars[0], threshold = self.op["threshold"])] + + def execute_Conv3DBackpropInputV2(self): + return [tf.raw_ops.Conv3DBackpropInputV2(input_sizes=self.vars[0],filter=self.vars[1], out_backprop=self.vars[2], strides=self.op["strides"], padding=self.op["padding"], dilations=self.op["dilations"])] + + def execute_empty(self): + return [tf.raw_ops.Empty(shape = self.vars[0], dtype = self.op["dtype"])] + + def execute_deep_copy(self): + return [tf.raw_ops.DeepCopy(x = self.vars[0])] + + def execute_ones_like(self): + return [tf.ones_like(tensor = self.vars[0])] + + def execute_random_gamma(self): + return [tf.random.gamma( + shape = self.vars[0] , + alpha = self.op["alpha"], + dtype = self.op["dtype"], + seed = self.op["seed"], + )] + + + def execute_random_poisson(self): + return [tf.random.poisson(shape = self.vars[0], lam = self.op["lam"], dtype=self.op["dtype"])] + + def execute_random_poisson_v2(self): + return [tf.raw_ops.RandomPoissonV2(shape = self.vars[0], rate = self.op["rate"], dtype=self.op["dtype"])] + + def execute_random_shuffle(self): + return [tf.random.shuffle( + value = self.vars[0], + seed=None, + )] + + def execute_random_normal(self): + return [tf.random.normal( + shape = self.vars[0], + mean=self.op["mean"], + stddev=self.op["stddev"], + dtype=self.op["dtype"], + seed=self.op["seed"], + )] + + def execute_random_uniform(self): + return [tf.random.uniform( + shape = self.vars[0], + minval=self.op["minval"], + maxval=self.op["maxval"], + dtype=self.op["dtype"], + seed=self.op["seed"], + )] + From 70ea947a12f2684d27d0451f94bba016870c878d Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Wed, 29 Apr 2020 22:28:06 +0300 Subject: [PATCH 04/14] cosmetic minor changes Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 48 ++++++++++++++++------------------ 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index acc52df..3e940e4 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -1,3 +1,5 @@ + + import tensorflow as tf from tfoptests.persistor import TensorFlowPersistor from tfoptests.test_graph import TestGraph @@ -147,10 +149,10 @@ def test_mathtransform(): # {"opName": "identity_n", "outName": "identity_n_4", "varShapes":[[2,3], [2], [], [2,1,3]], "varTypes":["float32", "float32", "float32", "float32"], "varInit":["uniform", "uniform", "uniform", "uniform"]} # {"opName": "zeta", "outName": "zeta_rank2", "varShapes":[[2,3], [2,3]], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"]}, # {"opName": "zeta", "outName": "zeta_rank3", "varShapes":[[2,3,2], [2,3,2]], "varTypes":["float32", "float32", "float32"], "varInit":["uniform", "uniform", "uniformt"]}, -# {"opName": "confusion_matrix", "outName": "confusion/no_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":None}, -# {"opName": "confusion_matrix", "outName": "confusion/with_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":5}, -# {"opName": "confusion_matrix", "outName": "confusion/no_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":None}, -# {"opName": "confusion_matrix", "outName": "confusion/with_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":5} + #{"opName": "confusion_matrix", "outName": "confusion/no_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":None}, + #{"opName": "confusion_matrix", "outName": "confusion/with_num_classes", "varShapes":[[5], [5]], "varTypes":["int32", "int32"], "varInit":["uniform_int5", "uniform_int5"], "num_classes":5}, + #{"opName": "confusion_matrix", "outName": "confusion/no_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":None}, + #{"opName": "confusion_matrix", "outName": "confusion/with_num_classes_with_weights", "varShapes":[[5], [5], [5]], "varTypes":["int32", "int32", "float32"], "varInit":["uniform_int5", "uniform_int5", "uniform"], "num_classes":5} # {"opName": "stack", "outName": "stack/rank0_axis-1", "varShapes":[[], []], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"], "axis":-1}, # {"opName": "stack", "outName": "stack/rank0_axis0", "varShapes":[[], []], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"], "axis":0}, # {"opName": "stack", "outName": "stack/rank1_axis-2", "varShapes":[[3], [3]], "varTypes":["float32", "float32"], "varInit":["uniform", "uniform"], "axis":-2}, @@ -1474,11 +1476,6 @@ def test_mathtransform(): #{"opName": "zeros_like", "outName": "zeros_like/rank2_float64", "varShapes": [[3, 12]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "zeros_like", "outName": "zeros_like/rank2_int32", "varShapes": [[3, 10]], "varTypes": ["int32"], "varInit": ["uniform_int10"]}, # {"opName": "zeros_like", "outName": "zeros_like/rank2_int64", "varShapes": [[3, 10]], "varTypes": ["int64"], "varInit": ["uniform_int10"]}, - - - # !! return target(*args, **kwargs) - # TypeError: zeros_like() got an unexpected keyword argument 'input' - #{"opName": "zeros_like", "outName": "zeros_like/rank2_float32_dtype_int8", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int8}, #{"opName": "zeros_like", "outName": "zeros_like/rank2_float32_dtype_int16", "varShapes": [[3, 12]],"varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int16}, # {"opName": "zeros_like", "outName": "zeros_like/rank2_float32_dtype_int32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype":tf.int32}, @@ -1851,10 +1848,6 @@ def test_mathtransform(): # {"opName": "reduce_max", "outName": "emptyReduceAxisTests/reduce_max/rank2", "varShapes":[[2,3]], "varTypes":["float32"], "varInit":["uniform_int5"], "axis":(), "keepdims":False}, # {"opName": "reduce_max", "outName": "emptyReduceAxisTests/reduce_max/rank2_keep", "varShapes":[[2,3]], "varTypes":["float32"], "varInit":["uniform_int5"], "axis":(), "keepdims":True}, - # !!! Creating vars: shapes= [[2]] , dtypes= ['float32'] , init= ['uniform_int5'] - # execute_multinomial not found - no method has been defined for this - # ValueError: Ouput tensor list not set - # {"opName": "multinomial", "outName": "multinomial/logits/sample/rank1", "varShapes":[[2]], "varTypes":["float32"], "varInit":["uniform_int5"], "total_count":4., "sample_shape": 5}, # {"opName": "multinomial", "outName": "multinomial/logits/sample/rank2", "varShapes":[[2, 3]], "varTypes":["float32"], "varInit":["uniform_int5"], "total_count":[4., 2], "sample_shape": 5}, # {"opName": "multinomial_with_p", "outName": "multinomial/prob/sample/rank1", "varShapes":[[2]], "varTypes":["float32"], "varInit":["uniform_int5"], "total_count":4., "sample_shape": 5}, @@ -2044,7 +2037,10 @@ def test_mathtransform(): # {"opName": "bitwise_and", "outName": "bitwise_and/rank2_int32", "varShapes":[[1,2], [1,2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_and", "outName": "bitwise_and/rank2_int64", "varShapes": [[1, 2], [1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_and", "outName": "bitwise_and/rank3_int32", "varShapes":[[1,1, 2], [1,1, 2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, - #2_int64", "varShapes": [[1, 2], [1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, + # {"opName": "bitwise_and", "outName": "bitwise_and/rank3_int64", "varShapes": [[1, 1, 2], [1, 1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, + + # {"opName": "bitwise_or", "outName": "bitwise_or/rank2_int32", "varShapes":[[1,2], [1,2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, + # {"opName": "bitwise_or", "outName": "bitwise_or/rank2_int64", "varShapes": [[1, 2], [1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_or", "outName": "bitwise_or/rank3_int32", "varShapes":[[1,1, 2], [1,1, 2]], "varTypes":["int32", "int32"], "varInit":["uniform_int10", "uniform_int2"]}, # {"opName": "bitwise_or", "outName": "bitwise_or/rank3_int64", "varShapes": [[1, 1, 2], [1, 1, 2]],"varTypes": ["int64", "int64"], "varInit": ["uniform_int10", "uniform_int2"]}, @@ -2152,18 +2148,18 @@ def test_mathtransform(): #{"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, #{"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, - # {"opName": "roll", "outName": "roll/rank1_float32", "varShapes": [[4]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":0}, - # {"opName": "roll", "outName": "roll/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 0}, - # {"opName": "roll", "outName": "roll/rank2_float32", "varShapes": [[2,4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 0}, - # {"opName": "roll", "outName": "roll/rank2_float32_zeroshift", "varShapes": [[2, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 0, "axis": 1}, - # {"opName": "roll", "outName": "roll/rank2_float32_axis", "varShapes": [[4,5]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":1}, - # {"opName": "roll", "outName": "roll/rank2_float64_axis", "varShapes": [[4,5]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, - # {"opName": "roll", "outName": "roll/rank3_float32_axis", "varShapes": [[4, 5, 3]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 2}, - # {"opName": "roll", "outName": "roll/rank3_float64_axis", "varShapes": [[4, 5, 4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, - # {"opName": "roll", "outName": "roll/rank3_int32_axis", "varShapes": [[4, 5, 4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "shift": 2, "axis": 1}, - # {"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 3}, - # {"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["half"], "varInit": ["uniform"], "shift": 2, "axis": 2}, - # {"opName": "roll", "outName": "roll/int32_long_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "shift": 2, "axis": 3}, + #{"opName": "roll", "outName": "roll/rank1_float32", "varShapes": [[4]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":0}, + #{"opName": "roll", "outName": "roll/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 0}, + #{"opName": "roll", "outName": "roll/rank2_float32", "varShapes": [[2,4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 0}, + #{"opName": "roll", "outName": "roll/rank2_float32_zeroshift", "varShapes": [[2, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 0, "axis": 1}, + #{"opName": "roll", "outName": "roll/rank2_float32_axis", "varShapes": [[4,5]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":1}, + #{"opName": "roll", "outName": "roll/rank2_float64_axis", "varShapes": [[4,5]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, + #{"opName": "roll", "outName": "roll/rank3_float32_axis", "varShapes": [[4, 5, 3]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 2}, + #{"opName": "roll", "outName": "roll/rank3_float64_axis", "varShapes": [[4, 5, 4]], "varTypes": ["float64"], "varInit": ["uniform"], "shift": 2, "axis": 1}, + #{"opName": "roll", "outName": "roll/rank3_int32_axis", "varShapes": [[4, 5, 4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "shift": 2, "axis": 1}, + #{"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["float32"], "varInit": ["uniform"], "shift": 2, "axis": 3}, + #{"opName": "roll", "outName": "roll/rank4_float32_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["half"], "varInit": ["uniform"], "shift": 2, "axis": 2}, + #{"opName": "roll", "outName": "roll/int32_long_axis", "varShapes": [[4, 5, 3, 4]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "shift": 2, "axis": 3}, #{"opName": "roll", "outName": "roll_test/rank1_float32", "varShapes": [[1024]],"varTypes": ["float32"], "varInit": ["uniform"], "shift":2, "axis":0}, #{"opName": "roll", "outName": "roll_test/rank2_float32", "varShapes": [[102,204]], "varTypes": ["float32","float32"], "varInit": ["uniform","uniform"], "shift": 0, "axis": 1}, From c39d266b3d44f9681d8b7f3d86f4018a4dcce75f Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Thu, 30 Apr 2020 13:17:11 +0300 Subject: [PATCH 05/14] all requested ops added Signed-off-by: Andrii Tuzhykov --- import-tests/tfoptests/ops.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index fc5fc7f..44e1e9c 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -1459,3 +1459,15 @@ def execute_random_uniform(self): seed=self.op["seed"], )] + def execute_unsorted_segment_mean(self): + return [tf.math.unsorted_segment_mean( + data = self.vars[0], + segment_ids = self.op["segment_ids"], + num_segments = self.op["num_segments"], + )] + def execute_unsorted_segment_sqrt_n(self): + return [tf.math.unsorted_segment_sqrt_n( + data = self.vars[0], + segment_ids = self.op["segment_ids"], + num_segments = self.op["num_segments"], + )] From cb1355bcfa8812393911f2434c2711577ed4ad54 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Fri, 1 May 2020 00:06:20 +0300 Subject: [PATCH 06/14] WIP on testacases Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 54 +++++++++++++++++++++++++++------- import-tests/tfoptests/ops.py | 8 ++++- 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 3e940e4..3d4aff3 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -2265,13 +2265,47 @@ def test_mathtransform(): # OPS works and testcase generated to dl4j-resources - # {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3", "varShapes": [[16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2}, - # {"opName":"dropout", "outName":"dropout/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2}, - # {"opName":"div", "outName":"div/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, - # {"opName":"is_non_decreasing", "outName":"is_non_decreasing/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, - # {"opName":"leaky_relu", "outName":"leaky_relu/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"], "alpha":0.2}, - # {"opName":"lgamma", "outName":"lgamma/someoutput", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, - # {"opName":"mod", "outName":"mod/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32", "float32"], "varInit": ["uniform", "uniform"]}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3_3channels", "varShapes": [[16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":0}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3_2_channels", "varShapes": [[16,16,2]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":1}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3_1_channel", "varShapes": [[16,16,1]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2.5}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float64_rank3_3_channels", "varShapes": [[16,16,3]], "varTypes": ["float64"], "varInit": ["uniform"], "contrast_factor":2}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float64_rank3_2_channels", "varShapes": [[16,16,2]], "varTypes": ["float64"], "varInit": ["uniform"], "contrast_factor":2}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3_1_channel", "varShapes": [[16,16,1]], "varTypes": ["float64"], "varInit": ["uniform"], "contrast_factor":2}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank4_1_batch", "varShapes": [[1,16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2}, +# {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank4_2_batch", "varShapes": [[2,16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2}, + +# {"opName":"dropout", "outName":"dropout/float32_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2, "seed": 123 }, +# {"opName":"dropout", "outName":"dropout/float64_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 4, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.2, "seed": 123}, +# {"opName":"dropout", "outName":"dropout/float64_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.2, "seed": 123}, +# {"opName":"dropout", "outName":"dropout/float64_rate_01_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.1}, +# {"opName":"dropout", "outName":"dropout/float64_rate_06_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.6}, +# {"opName":"dropout", "outName":"dropout/float64_rate_03_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.3, "noise_shape": [1, 1, 1, 1, 2] }, +# {"opName":"dropout", "outName":"dropout/float32_rate_02_seed_123_noise_shape_None", "varShapes":[[ 2, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2, "noise_shape": [2, 1, 1, 2] }, + + +# {"opName":"div", "outName":"div/float32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, +# {"opName":"div", "outName":"div/float64", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float64","float64"], "varInit": ["uniform","uniform"]}, +# {"opName":"div", "outName":"div/int8", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int8","int8"], "varInit": ["one","one"]}, +# {"opName":"div", "outName":"div/int16", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int16","int16"], "varInit": ["one","one"]}, +# {"opName":"div", "outName":"div/int32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int32","int32"], "varInit": ["one","one"]}, + + +# {"opName":"is_non_decreasing", "outName":"is_non_decreasing/float32", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, +# {"opName":"is_non_decreasing", "outName":"is_non_decreasing/float64", "varShapes":[[1, 2]], "varTypes":["float64"], "varInit": ["uniform"]}, +# {"opName":"is_non_decreasing", "outName":"is_non_decreasing/int16", "varShapes":[[1, 3]], "varTypes":["int16"], "varInit": ["one"]}, +# {"opName":"is_non_decreasing", "outName":"is_non_decreasing/int32", "varShapes":[[2, 3]], "varTypes":["int16"], "varInit": ["zero"]}, + + + #Leaky RELU +# {"opName":"leaky_relu", "outName":"leaky_relu/rank2_a0", "varShapes":[[4, 5]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.0}, +# {"opName":"leaky_relu", "outName":"leaky_relu/rank4_a05", "varShapes":[[4, 5]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.5}, +# {"opName":"leaky_relu", "outName":"leaky_relu/rank4_a0", "varShapes":[[4, 5, 5, 1]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.0}, +# {"opName":"leaky_relu", "outName":"leaky_relu/rank4_a02", "varShapes":[[4, 5, 5, 1]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.2}, + + + {"opName": "lgamma", "outName": "lgamma/float32", "varShapes": [[3, 4]], "varTypes": ["float32"], "varInit": ["uniform"]}, + {"opName": "lgamma", "outName": "lgamma/float64", "varShapes": [[3, 4]], "varTypes": ["float64"], "varInit": ["uniform"]}, + {"opName": "lgamma", "outName": "lgamma/emptyArrayTest/float32", "varShapes": [[0, 0]], "varTypes": ["float32"], "varInit": ["empty"]}, # {"opName":"mod", "outName":"mod/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32", "float32"], "varInit": ["uniform", "uniform"]}, # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":0.,}, # {"opName":"empty", "outName":"empty/someoutput", "varShapes":[[5]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32}, # {"opName":"deep_copy", "outName":"DeepCopy/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, @@ -2282,7 +2316,7 @@ def test_mathtransform(): # {"opName": "random_poisson_v2", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "rate":[0.5, 1.5],"dtype":tf.float32}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":12345}, # {"opName": "random_normal", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float32}, - {"opName": "random_uniform", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, +# {"opName": "random_uniform", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, @@ -2327,7 +2361,7 @@ def test_mathtransform(): *split (doesn't support num_or_size_splits=0?) tile unique - + tf.linalg: det diag @@ -2337,7 +2371,7 @@ def test_mathtransform(): tensor_diag tensor_diag_part trace - + tf.math: angle atan2 diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index 44e1e9c..a46be56 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -1342,7 +1342,7 @@ def execute_non_max_suppression_v2(self): return [tf.image.non_max_suppression(self.vars[0], self.vars[1], self.vars[2])] def execute_dropout(self): - return [tf.nn.dropout(x = self.vars[0], rate = 0.25)] + return [tf.nn.dropout(x = self.vars[0], rate = self.op["rate"], seed = self.op.get("seed", None), noise_shape = self.op.get("noise_shape", None))] def execute_is_non_decreasing(self): return [tf.math.is_non_decreasing(x = self.vars[0])] @@ -1471,3 +1471,9 @@ def execute_unsorted_segment_sqrt_n(self): segment_ids = self.op["segment_ids"], num_segments = self.op["num_segments"], )] + + def execute_div(self): + return [tf.raw_ops.Div( + x = self.vars[0], + y = self.vars[1] + )] From 9fac889f6a56fdbaf14b433302ee382a6e3b86ca Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Fri, 1 May 2020 14:41:28 +0300 Subject: [PATCH 07/14] testcases added Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 109 ++++++++++++++++++++++++++++----- import-tests/tfoptests/ops.py | 41 +++++++------ 2 files changed, 116 insertions(+), 34 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 3d4aff3..fa24b92 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -2296,27 +2296,106 @@ def test_mathtransform(): # {"opName":"is_non_decreasing", "outName":"is_non_decreasing/int32", "varShapes":[[2, 3]], "varTypes":["int16"], "varInit": ["zero"]}, - #Leaky RELU # {"opName":"leaky_relu", "outName":"leaky_relu/rank2_a0", "varShapes":[[4, 5]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.0}, # {"opName":"leaky_relu", "outName":"leaky_relu/rank4_a05", "varShapes":[[4, 5]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.5}, # {"opName":"leaky_relu", "outName":"leaky_relu/rank4_a0", "varShapes":[[4, 5, 5, 1]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.0}, # {"opName":"leaky_relu", "outName":"leaky_relu/rank4_a02", "varShapes":[[4, 5, 5, 1]], "varTypes":["float32"], "varInit":["stdnormal"], "alpha":0.2}, - {"opName": "lgamma", "outName": "lgamma/float32", "varShapes": [[3, 4]], "varTypes": ["float32"], "varInit": ["uniform"]}, - {"opName": "lgamma", "outName": "lgamma/float64", "varShapes": [[3, 4]], "varTypes": ["float64"], "varInit": ["uniform"]}, - {"opName": "lgamma", "outName": "lgamma/emptyArrayTest/float32", "varShapes": [[0, 0]], "varTypes": ["float32"], "varInit": ["empty"]}, # {"opName":"mod", "outName":"mod/someoutput", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32", "float32"], "varInit": ["uniform", "uniform"]}, - # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":0.,}, - # {"opName":"empty", "outName":"empty/someoutput", "varShapes":[[5]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32}, - # {"opName":"deep_copy", "outName":"DeepCopy/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, - # {"opName":"ones_like", "outName":"ones_like/someoutput", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, - # {"opName": "random_crop", "outName": "random_crop/rank3_float32", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float32", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, - # {"opName": "random_gamma", "outName": "random_gamma/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10","uniform"], "seed":1, "alpha":[0.5, 1.5], "dtype":tf.float32}, - # {"opName": "random_poisson", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 1.5],"dtype":tf.float32}, - # {"opName": "random_poisson_v2", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "rate":[0.5, 1.5],"dtype":tf.float32}, - # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":12345}, -# {"opName": "random_normal", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float32}, -# {"opName": "random_uniform", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, +# {"opName": "lgamma", "outName": "lgamma/float32", "varShapes": [[3, 4]], "varTypes": ["float32"], "varInit": ["uniform"]}, +# {"opName": "lgamma", "outName": "lgamma/float64", "varShapes": [[3, 4]], "varTypes": ["float64"], "varInit": ["uniform"]}, +# {"opName": "lgamma", "outName": "lgamma/emptyArrayTest/float32", "varShapes": [[0, 0]], "varTypes": ["float32"], "varInit": ["empty"]}, +# +# +# {"opName":"mod", "outName":"mod/float32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, +# {"opName":"mod", "outName":"mod/float64", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float64","float64"], "varInit": ["uniform","uniform"]}, +# {"opName":"mod", "outName":"mod/int16", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int32","int32"], "varInit": ["one","one"]}, +# {"opName":"mod", "outName":"mod/int32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int64","int64"], "varInit": ["one","one"]}, + +# +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/bool", "varShapes": [[8]], "varTypes": ["bool"], "varInit": ["boolean"], "threshold":True,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/half", "varShapes": [[8]], "varTypes": ["half"], "varInit": ["uniform"], "threshold":0.,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":2.5,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float64", "varShapes": [[8]], "varTypes": ["float64"], "varInit": ["uniform_int2"], "threshold":0.5,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int16", "varShapes": [[8]], "varTypes": ["int16"], "varInit": ["one"], "threshold":0,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int32", "varShapes": [[8]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "threshold":2,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int64", "varShapes": [[16]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "threshold":1,}, + + +# TRY half, int16/32 on non CPU device +# {"opName":"empty", "outName":"empty/shape_5_float32", "varShapes":[[5]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32}, +# {"opName":"empty", "outName":"empty/shape_5_float64", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float64}, +# {"opName":"empty", "outName":"empty/shape_5_uint8", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.uint8}, +# {"opName":"empty", "outName":"empty/shape_5_uint16", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.uint16}, + + + +# {"opName":"deep_copy", "outName":"DeepCopy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, + + +# Only for TF 2.X +# {"opName":"copy", "outName":"Copy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, +# {"opName":"copy", "outName":"Copy/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, +# {"opName":"copy", "outName":"Copy/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, +# {"opName":"copy", "outName":"Copy/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, +# {"opName":"copy", "outName":"Copy/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, +# {"opName":"copy", "outName":"Copy/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, +# {"opName":"copy", "outName":"Copy/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, + + + +# Only for TF 2.X +# {"opName":"copy_host", "outName":"copy_host/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, +# {"opName":"copy_host", "outName":"copy_host/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, +# {"opName":"copy_host", "outName":"copy_host/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, +# {"opName":"copy_host", "outName":"copy_host/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, +# {"opName":"copy_host", "outName":"copy_host/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, +# {"opName":"copy_host", "outName":"copy_host/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, +# {"opName":"copy_host", "outName":"copy_host/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, + + +# {"opName": "random_crop", "outName": "random_crop/rank3_float32", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float32", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, +# {"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, +# {"opName": "random_crop", "outName": "random_crop/rank3_half", "varShapes": [[8, 8, 3], [3]], "varTypes": ["half", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, + + +# {"opName": "random_gamma", "outName": "random_gamma/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1, "alpha":[0.5, 1.5], "dtype":tf.float32}, +# {"opName": "random_gamma", "outName": "random_gamma/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.float64}, +# {"opName": "random_gamma", "outName": "random_gamma/rank3_half", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.half}, + + +# {"opName": "random_poisson", "outName": "random_poisson/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 2.5],"dtype":tf.float16}, +# {"opName": "random_poisson", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [2]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 1.5],"dtype":tf.float32}, +# {"opName": "random_poisson", "outName": "random_poisson/rank1_float64", "varShapes": [[3], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.8, 1.5],"dtype":tf.float64}, +# {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 3],"dtype":tf.half}, +# {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[4], [1]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "seed":123, "lam":[0.5, 1.5],"dtype":tf.half}, +# +# {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"] ,"dtype":tf.float16}, +# {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float32", "varShapes": [[4], [2]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "dtype":tf.float32}, +# {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float64", "varShapes": [[3], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"],"dtype":tf.float64}, +# {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"],"seed":12 ,"dtype":tf.half}, +# {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_half", "varShapes": [[4], [1]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "seed":123, "seed":42,"dtype":tf.half}, + +# {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":42}, +# {"opName": "random_shuffle", "outName": "random_shuffle/rank2_float32", "varShapes": [[4,4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":1345}, +# {"opName": "random_shuffle", "outName": "random_shuffle/rank3_float32", "varShapes": [[1,2,3]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":1235}, +# {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"]}, +# {"opName": "random_shuffle", "outName": "random_shuffle/rank1_int32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1245}, +# +# {"opName": "random_normal", "outName": "random_normal/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float32}, +# {"opName": "random_normal", "outName": "random_normal/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float64}, +# {"opName": "random_normal", "outName": "random_normal/rank2_half", "varShapes": [[2]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.half}, + + {"opName": "random_uniform", "outName": "random_unidorm/rank1_float16", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":[1,2,7,4], "seed":12345, "dtype":tf.float16}, + {"opName": "random_uniform", "outName": "random_unidorm/rank3_float32", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, + {"opName": "random_uniform", "outName": "random_unidorm/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":3, "seed":12345, "dtype":tf.float64}, + {"opName": "random_uniform", "outName": "random_unidorm/rank4_int64", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.int64}, diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index a46be56..8afbc70 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -1417,28 +1417,33 @@ def execute_empty(self): def execute_deep_copy(self): return [tf.raw_ops.DeepCopy(x = self.vars[0])] - def execute_ones_like(self): + def execute_ones_like_tf1(self): return [tf.ones_like(tensor = self.vars[0])] def execute_random_gamma(self): return [tf.random.gamma( shape = self.vars[0] , alpha = self.op["alpha"], + beta = self.op.get("beta",None), dtype = self.op["dtype"], - seed = self.op["seed"], + seed = self.op.get("seed", None) )] def execute_random_poisson(self): - return [tf.random.poisson(shape = self.vars[0], lam = self.op["lam"], dtype=self.op["dtype"])] + return [tf.random.poisson(shape = self.vars[0], + lam = self.op["lam"], + seed = self.op.get("seed", None), + dtype=self.op["dtype"])] def execute_random_poisson_v2(self): - return [tf.raw_ops.RandomPoissonV2(shape = self.vars[0], rate = self.op["rate"], dtype=self.op["dtype"])] + return [tf.raw_ops.RandomPoissonV2(shape = self.vars[0], rate = self.vars[1], seed = self.op.get("seed", None), + seed2 = self.op.get("seed2", None), dtype=self.op["dtype"])] def execute_random_shuffle(self): return [tf.random.shuffle( value = self.vars[0], - seed=None, + seed = self.op.get("seed", None), )] def execute_random_normal(self): @@ -1447,7 +1452,7 @@ def execute_random_normal(self): mean=self.op["mean"], stddev=self.op["stddev"], dtype=self.op["dtype"], - seed=self.op["seed"], + seed = self.op.get("seed", None), )] def execute_random_uniform(self): @@ -1456,24 +1461,22 @@ def execute_random_uniform(self): minval=self.op["minval"], maxval=self.op["maxval"], dtype=self.op["dtype"], - seed=self.op["seed"], + seed = self.op.get("seed", None), )] - def execute_unsorted_segment_mean(self): - return [tf.math.unsorted_segment_mean( - data = self.vars[0], - segment_ids = self.op["segment_ids"], - num_segments = self.op["num_segments"], - )] - def execute_unsorted_segment_sqrt_n(self): - return [tf.math.unsorted_segment_sqrt_n( - data = self.vars[0], - segment_ids = self.op["segment_ids"], - num_segments = self.op["num_segments"], - )] def execute_div(self): return [tf.raw_ops.Div( x = self.vars[0], y = self.vars[1] )] + + def execute_copy(self): + return [tf.raw_ops.Copy( + x = self.vars[0] + )] + + def execute_copy_host(self): + return [tf.raw_ops.CopyHost( + x = self.vars[0] + )] \ No newline at end of file From a873bb65939d679df13520d4bf48f45b46bd59e4 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Tue, 5 May 2020 11:33:53 +0300 Subject: [PATCH 08/14] some improvements Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 206 +++++++++++++++++++-------------- import-tests/tfoptests/ops.py | 18 +++ 2 files changed, 137 insertions(+), 87 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index fa24b92..ec28631 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -459,6 +459,7 @@ def test_mathtransform(): # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, + # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, @@ -497,7 +498,7 @@ def test_mathtransform(): # {"opName":"layers_conv2d_transpose", "outName":"conv2d_transpose/channels_last_b1_k2_s1_SAME_crelu", "varShapes":[[1, 5, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":[2,2], "strides":[1,1], "padding":"SAME", "data_format":"channels_last", "activation":tf.nn.crelu}, # {"opName":"layers_conv2d_transpose", "outName":"conv2d_transpose/channels_last_b2_k2_s1_SAME_regularizers", "varShapes":[[2, 5, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":[2,2], "strides":[1,1], "padding":"SAME", "data_format":"channels_last", # "kernel_regularizer":tf.contrib.layers.l2_regularizer(scale=0.1), "bias_regularizer":tf.contrib.layers.l1_regularizer(scale=0.2), "activity_regularizer":tf.contrib.layers.l1_l2_regularizer(scale_l1=0.1,scale_l2=0.2)}, - # {"opName":"Conv2DTranspose", "outName":"Conv2DTranspose", "varShapes":[[1, 5, 5, 2]], "varTypes":["float32","float32"], "kernel_size":[2,2], "filters":2}, + {"opName":"Conv2DTranspose", "outName":"Conv2DTranspose", "varShapes":[[1, 5, 5, 2]], "varTypes":["float32","float32"], "kernel_size":[2,2], "filters":2}, # Data format: ch_last: NDHWC, ch_first: NCDHW # "CPU implementation of Conv3D currently only supports the NHWC tensor format." @@ -2217,28 +2218,28 @@ def test_mathtransform(): #{"opName": "yiq_to_rgb", "outName": "yiq_to_rgb/float32", "varShapes": [[1, 2, 3]], "varTypes": ["float32"], "varInit": ["uniform"]}, #{"opName": "yiq_to_rgb", "outName": "yiq_to_rgb/float64", "varShapes": [[2, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "yiq_to_rgb", "outName": "yiq_to_rgb/emptyArrayTest/float64", "varShapes": [[0, 4, 3]], "varTypes": ["float64"], "varInit": ["empty"]}, - #{"opName": "yiq_to_rgb", "outName": "yiq_to_rgb/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform_0_1"]}, + #{"opName": "yiq_to_rgb", "outName": "yiq_to_rgb/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "rgb_to_yiq", "outName": "rgb_to_yiq/float32", "varShapes": [[1, 2, 3]], "varTypes": ["float32"], "varInit": ["uniform"]}, #{"opName": "rgb_to_yiq", "outName": "rgb_to_yiq/float64", "varShapes": [[2, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "rgb_to_yiq", "outName": "rgb_to_yiq/emptyArrayTest/float64", "varShapes": [[0, 4, 3]], "varTypes": ["float64"], "varInit": ["empty"]}, - #{"opName": "rgb_to_yiq", "outName": "rgb_to_yiq/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform_0_1"]}, + #{"opName": "rgb_to_yiq", "outName": "rgb_to_yiq/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "rgb_to_grayscale", "outName": "rgb_to_grayscale/float32", "varShapes": [[1, 2, 3]], "varTypes": ["float32"], "varInit": ["uniform"]}, #{"opName": "rgb_to_grayscale", "outName": "rgb_to_grayscale/float64", "varShapes": [[2, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "rgb_to_grayscale", "outName": "rgb_to_grayscale/emptyArrayTest/float64", "varShapes": [[0, 4, 3]], "varTypes": ["float64"], "varInit": ["empty"]}, - #{"opName": "rgb_to_grayscale", "outName": "rgb_to_grayscale/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform_0_1"]}, + #{"opName": "rgb_to_grayscale", "outName": "rgb_to_grayscale/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, # {"opName": "yuv_to_rgb", "outName": "yuv_to_rgb/float32_1", "varShapes": [[1, 1, 3]], "varTypes": ["float32"], "varInit": ["uniform"]}, # {"opName": "yuv_to_rgb", "outName": "yuv_to_rgb/float32", "varShapes": [[1, 2, 3]], "varTypes": ["float32"], "varInit": ["uniform"]}, # {"opName": "yuv_to_rgb", "outName": "yuv_to_rgb/float64", "varShapes": [[2, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, # {"opName": "yuv_to_rgb", "outName": "yuv_to_rgb/emptyArrayTest/float64", "varShapes": [[0, 4, 3]], "varTypes": ["float64"], "varInit": ["empty"]}, - # {"opName": "yuv_to_rgb", "outName": "yuv_to_rgb/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform_0_1"]}, + # {"opName": "yuv_to_rgb", "outName": "yuv_to_rgb/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "rgb_to_yuv", "outName": "rgb_to_yuv/float32", "varShapes": [[1, 2, 3]], "varTypes": ["float32"], "varInit": ["uniform"]}, #{"opName": "rgb_to_yuv", "outName": "rgb_to_yuv/float64", "varShapes": [[2, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "rgb_to_yuv", "outName": "rgb_to_yuv/emptyArrayTest/float64", "varShapes": [[0, 4, 3]], "varTypes": ["float64"], "varInit": ["empty"]}, - #{"opName": "rgb_to_yuv", "outName": "rgb_to_yuv/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform_0_1"]}, + #{"opName": "rgb_to_yuv", "outName": "rgb_to_yuv/float64_from0_to1", "varShapes": [[5, 4, 3]], "varTypes": ["float64"], "varInit": ["uniform"]}, #{"opName": "lu", "outName": "lu/float32_rank2", "varShapes": [[3,3]], "varTypes": ["float32"], "varInit": ["uniform"]}, #{"opName": "lu", "outName": "lu/float32_rank3", "varShapes": [[2,2,2]], "varTypes": ["float32"], "varInit": ["uniform"]}, @@ -2261,9 +2262,11 @@ def test_mathtransform(): #{"opName": "linear_solve", "outName": "linear_solve/emptyArrayTest/float32", "varShapes": [[0, 2, 2], [0, 2, 2]], "varTypes": ["float32", "float32"], "varInit": ["empty", "empty"], "adjoint": True}, #{"opName": "linear_solve", "outName": "linear_solve/float32_rank3_returns_int64", "varShapes": [[2, 2, 2], [2, 2, 2]], "varTypes": ["float32", "float32"], "varInit": ["uniform", "uniform"], "adjoint": True} - # NEWLY ADDED OPS - # OPS works and testcase generated to dl4j-resources + + + # --- Ops with TF Mapping but No TF Import Tests --- + # {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3_3channels", "varShapes": [[16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":0}, # {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank3_2_channels", "varShapes": [[16,16,2]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":1}, @@ -2274,21 +2277,83 @@ def test_mathtransform(): # {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank4_1_batch", "varShapes": [[1,16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2}, # {"opName": "adjust_contrast", "outName": "adjust_contrast/float32_rank4_2_batch", "varShapes": [[2,16,16,3]], "varTypes": ["float32"], "varInit": ["uniform"], "contrast_factor":2}, -# {"opName":"dropout", "outName":"dropout/float32_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2, "seed": 123 }, -# {"opName":"dropout", "outName":"dropout/float64_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 4, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.2, "seed": 123}, -# {"opName":"dropout", "outName":"dropout/float64_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.2, "seed": 123}, -# {"opName":"dropout", "outName":"dropout/float64_rate_01_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.1}, -# {"opName":"dropout", "outName":"dropout/float64_rate_06_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.6}, -# {"opName":"dropout", "outName":"dropout/float64_rate_03_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.3, "noise_shape": [1, 1, 1, 1, 2] }, -# {"opName":"dropout", "outName":"dropout/float32_rate_02_seed_123_noise_shape_None", "varShapes":[[ 2, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2, "noise_shape": [2, 1, 1, 2] }, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/bool", "varShapes": [[8]], "varTypes": ["bool"], "varInit": ["boolean"], "threshold":True,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/half", "varShapes": [[8]], "varTypes": ["half"], "varInit": ["uniform"], "threshold":0.,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":2.5,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float64", "varShapes": [[8]], "varTypes": ["float64"], "varInit": ["uniform_int2"], "threshold":0.5,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int16", "varShapes": [[8]], "varTypes": ["int16"], "varInit": ["one"], "threshold":0,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int32", "varShapes": [[8]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "threshold":2,}, +# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int64", "varShapes": [[16]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "threshold":1,}, + +# doesnt work on cpu, better launch on kraken +# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[5], [1, 1, 1, 3, 1], [1, 3, 3, 3, 1]], "varTypes":["int32","float32", "float32"], "varInit": ["uniform_int10","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1]}, + + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_VALID", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,2,2,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s1_d1_SAME", "varShapes":[[1, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, + +# Only for TF 2.X +# {"opName":"copy", "outName":"Copy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, +# {"opName":"copy", "outName":"Copy/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, +# {"opName":"copy", "outName":"Copy/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, +# {"opName":"copy", "outName":"Copy/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, +# {"opName":"copy", "outName":"Copy/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, +# {"opName":"copy", "outName":"Copy/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, +# {"opName":"copy", "outName":"Copy/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, + +# Only for TF 2.X +# {"opName":"copy_host", "outName":"copy_host/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, +# {"opName":"copy_host", "outName":"copy_host/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, +# {"opName":"copy_host", "outName":"copy_host/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, +# {"opName":"copy_host", "outName":"copy_host/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, +# {"opName":"copy_host", "outName":"copy_host/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, +# {"opName":"copy_host", "outName":"copy_host/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, +# {"opName":"copy_host", "outName":"copy_host/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, + + + +# {"opName":"deep_copy", "outName":"DeepCopy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, +# {"opName":"deep_copy", "outName":"DeepCopy/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, + # {"opName":"div", "outName":"div/float32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, +# {"opName":"div", "outName":"div/float32", "varShapes":[[3,4],[3,1]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, # {"opName":"div", "outName":"div/float64", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float64","float64"], "varInit": ["uniform","uniform"]}, # {"opName":"div", "outName":"div/int8", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int8","int8"], "varInit": ["one","one"]}, # {"opName":"div", "outName":"div/int16", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int16","int16"], "varInit": ["one","one"]}, # {"opName":"div", "outName":"div/int32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int32","int32"], "varInit": ["one","one"]}, +# {"opName":"dropout", "outName":"dropout/float32_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2, "seed": 123 }, +# {"opName":"dropout", "outName":"dropout/float64_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 4, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.2, "seed": 123}, +# {"opName":"dropout", "outName":"dropout/float64_rate_02_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.2, "seed": 123}, +# {"opName":"dropout", "outName":"dropout/float64_rate_01_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.1}, +# {"opName":"dropout", "outName":"dropout/float64_rate_06_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.6}, +# {"opName":"dropout", "outName":"dropout/float64_rate_03_seed_123_noise_shape_None", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"], "rate":0.3, "noise_shape": [1, 1, 1, 1, 2] }, +# {"opName":"dropout", "outName":"dropout/float32_rate_02_seed_123_noise_shape_None", "varShapes":[[ 2, 3, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"], "rate":0.2, "noise_shape": [2, 1, 1, 2] }, + +# TRY half, int16/32 on non CPU device +# {"opName":"empty", "outName":"empty/shape_5_float32", "varShapes":[[5]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32}, +# {"opName":"empty", "outName":"empty/shape_5_float64", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float64}, +# {"opName":"empty", "outName":"empty/shape_5_uint8", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.uint8}, +# {"opName":"empty", "outName":"empty/shape_5_uint16", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.uint16}, + + # {"opName":"is_non_decreasing", "outName":"is_non_decreasing/float32", "varShapes":[[1, 2, 3]], "varTypes":["float32"], "varInit": ["uniform"]}, # {"opName":"is_non_decreasing", "outName":"is_non_decreasing/float64", "varShapes":[[1, 2]], "varTypes":["float64"], "varInit": ["uniform"]}, @@ -2305,109 +2370,76 @@ def test_mathtransform(): # {"opName": "lgamma", "outName": "lgamma/float32", "varShapes": [[3, 4]], "varTypes": ["float32"], "varInit": ["uniform"]}, # {"opName": "lgamma", "outName": "lgamma/float64", "varShapes": [[3, 4]], "varTypes": ["float64"], "varInit": ["uniform"]}, # {"opName": "lgamma", "outName": "lgamma/emptyArrayTest/float32", "varShapes": [[0, 0]], "varTypes": ["float32"], "varInit": ["empty"]}, -# -# + + + # https://gist.github.com/atuzhykov/b9ba46de91c54eda65c24546db11b9d3 looks like problem with CPU compatible + # {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/someoutput", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + # "strides": [1,1,1,1], "padding":"SAME", "data_format":'NHWC' ,"include_batch_in_index": True, "output_dtype": tf.int32}, + + # {"opName":"mod", "outName":"mod/float32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, +# {"opName":"mod", "outName":"mod/float32", "varShapes":[[3, 4],[3, 1]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, # {"opName":"mod", "outName":"mod/float64", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float64","float64"], "varInit": ["uniform","uniform"]}, # {"opName":"mod", "outName":"mod/int16", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int32","int32"], "varInit": ["one","one"]}, # {"opName":"mod", "outName":"mod/int32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["int64","int64"], "varInit": ["one","one"]}, +# mish https://www.tensorflow.org/addons/api_docs/python/tfa/activations/mish +# is accesible only in addon and only for TF2 # -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/bool", "varShapes": [[8]], "varTypes": ["bool"], "varInit": ["boolean"], "threshold":True,}, -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/half", "varShapes": [[8]], "varTypes": ["half"], "varInit": ["uniform"], "threshold":0.,}, -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float32", "varShapes": [[8]], "varTypes": ["float32"], "varInit": ["uniform"], "threshold":2.5,}, -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/float64", "varShapes": [[8]], "varTypes": ["float64"], "varInit": ["uniform_int2"], "threshold":0.5,}, -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int16", "varShapes": [[8]], "varTypes": ["int16"], "varInit": ["one"], "threshold":0,}, -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int32", "varShapes": [[8]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "threshold":2,}, -# {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int64", "varShapes": [[16]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "threshold":1,}, - - -# TRY half, int16/32 on non CPU device -# {"opName":"empty", "outName":"empty/shape_5_float32", "varShapes":[[5]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32}, -# {"opName":"empty", "outName":"empty/shape_5_float64", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.float64}, -# {"opName":"empty", "outName":"empty/shape_5_uint8", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.uint8}, -# {"opName":"empty", "outName":"empty/shape_5_uint16", "varShapes":[[4]], "varTypes":["int32"], "varInit": ["uniform_int10"], "dtype":tf.uint16}, - - - -# {"opName":"deep_copy", "outName":"DeepCopy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, -# {"opName":"deep_copy", "outName":"DeepCopy/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, -# {"opName":"deep_copy", "outName":"DeepCopy/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, -# {"opName":"deep_copy", "outName":"DeepCopy/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, -# {"opName":"deep_copy", "outName":"DeepCopy/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, -# {"opName":"deep_copy", "outName":"DeepCopy/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, -# {"opName":"deep_copy", "outName":"DeepCopy/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, - - -# Only for TF 2.X -# {"opName":"copy", "outName":"Copy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, -# {"opName":"copy", "outName":"Copy/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, -# {"opName":"copy", "outName":"Copy/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, -# {"opName":"copy", "outName":"Copy/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, -# {"opName":"copy", "outName":"Copy/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, -# {"opName":"copy", "outName":"Copy/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, -# {"opName":"copy", "outName":"Copy/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, - - - -# Only for TF 2.X -# {"opName":"copy_host", "outName":"copy_host/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, -# {"opName":"copy_host", "outName":"copy_host/float64", "varShapes":[[1, 3, 3, 3, 2]], "varTypes":["float64"], "varInit": ["uniform"] }, -# {"opName":"copy_host", "outName":"copy_host/half", "varShapes":[[1, 3, 3, 2]], "varTypes":["half"], "varInit": ["uniform"] }, -# {"opName":"copy_host", "outName":"copy_host/int8", "varShapes":[[1, 3, 3, 2]], "varTypes":["int8"], "varInit": ["zero"] }, -# {"opName":"copy_host", "outName":"copy_host/int16", "varShapes":[[1, 3, 3, 2]], "varTypes":["int16"], "varInit": ["one"] }, -# {"opName":"copy_host", "outName":"copy_host/int32", "varShapes":[[1, 3, 3, 2]], "varTypes":["int32"], "varInit": ["uniform_int10"] }, -# {"opName":"copy_host", "outName":"copy_host/int64", "varShapes":[[1,3, 2]], "varTypes":["int64"], "varInit": ["uniform_int10"] }, - # {"opName": "random_crop", "outName": "random_crop/rank3_float32", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float32", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, # {"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, # {"opName": "random_crop", "outName": "random_crop/rank3_half", "varShapes": [[8, 8, 3], [3]], "varTypes": ["half", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, - - +# +# # {"opName": "random_gamma", "outName": "random_gamma/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1, "alpha":[0.5, 1.5], "dtype":tf.float32}, # {"opName": "random_gamma", "outName": "random_gamma/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.float64}, # {"opName": "random_gamma", "outName": "random_gamma/rank3_half", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.half}, - - +# +# # {"opName": "random_poisson", "outName": "random_poisson/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 2.5],"dtype":tf.float16}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [2]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 1.5],"dtype":tf.float32}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_float64", "varShapes": [[3], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.8, 1.5],"dtype":tf.float64}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 3],"dtype":tf.half}, +# {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 3],"dtype":tf.half}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[4], [1]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "seed":123, "lam":[0.5, 1.5],"dtype":tf.half}, -# +# # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"] ,"dtype":tf.float16}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float32", "varShapes": [[4], [2]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "dtype":tf.float32}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float64", "varShapes": [[3], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"],"dtype":tf.float64}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"],"seed":12 ,"dtype":tf.half}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_half", "varShapes": [[4], [1]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "seed":123, "seed":42,"dtype":tf.half}, - +# # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":42}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank2_float32", "varShapes": [[4,4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":1345}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank3_float32", "varShapes": [[1,2,3]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":1235}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"]}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_int32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1245}, -# +# # {"opName": "random_normal", "outName": "random_normal/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float32}, # {"opName": "random_normal", "outName": "random_normal/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float64}, # {"opName": "random_normal", "outName": "random_normal/rank2_half", "varShapes": [[2]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.half}, - - {"opName": "random_uniform", "outName": "random_unidorm/rank1_float16", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":[1,2,7,4], "seed":12345, "dtype":tf.float16}, - {"opName": "random_uniform", "outName": "random_unidorm/rank3_float32", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, - {"opName": "random_uniform", "outName": "random_unidorm/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":3, "seed":12345, "dtype":tf.float64}, - {"opName": "random_uniform", "outName": "random_unidorm/rank4_int64", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.int64}, - - - - # OPS arent work for some reason - # https://gist.github.com/atuzhykov/b9ba46de91c54eda65c24546db11b9d3 looks like problem with CPU compatible - # {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/someoutput", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - # "strides": [1,1,1,1], "padding":"SAME", "data_format":'NHWC' ,"include_batch_in_index": True, "output_dtype": tf.int32}, - # {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[5], [1, 1, 1, 3, 1], [1, 3, 3, 3, 1]], "varTypes":["int32","float32", "float32"], "varInit": ["uniform_int10","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1]}, - - - - ] +# +# {"opName": "random_uniform", "outName": "random_unidorm/rank1_float16", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":[1,2,7,4], "seed":12345, "dtype":tf.float16}, +# {"opName": "random_uniform", "outName": "random_unidorm/rank3_float32", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, +# {"opName": "random_uniform", "outName": "random_unidorm/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":3, "seed":12345, "dtype":tf.float64}, +# {"opName": "random_uniform", "outName": "random_unidorm/rank4_int64", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.int64}, +# +# {"opName": "zeros_like_tf1", "outName": "emptyArrayTests/zeros_like_tf1/rank1", "varShapes":[[0]], "varTypes":["float32"], "varInit":["empty"]}, +# {"opName": "zeros_like_tf1", "outName": "emptyArrayTests/zeros_like_tf1/rank2", "varShapes":[[2,0]], "varTypes":["float64"], "varInit":["empty"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float16", "varShapes": [[3, 12]],"varTypes": ["float16"], "varInit": ["uniform"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float64", "varShapes": [[3, 12]], "varTypes": ["float64"], "varInit": ["uniform"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_int32", "varShapes": [[3, 10]], "varTypes": ["int32"], "varInit": ["uniform_int10"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_int64", "varShapes": [[3, 10]], "varTypes": ["int64"], "varInit": ["uniform_int10"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int8", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int8}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int16", "varShapes": [[3, 12]],"varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int16}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype":tf.int32}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float16", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.float16}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.float32}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float64", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.float64}, + + ] ''' Ops requiring tests: (note that some of these might not support 0 shapes) diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index 8afbc70..f8d0865 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -346,6 +346,21 @@ def execute_layers_conv2d_transpose(self): bias_regularizer=self.op.get("bias_regularizer",None), activity_regularizer=self.op.get("activity_regularizer",None), kernel_constraint=self.op.get("kernel_constraint",None), bias_constraint=self.op.get("bias_constraint",None))] + def execute_conv2d_transpose(self): + return [ + tf.nn.conv2d_transpose( + value=self.vars[0], + filter=self.vars[1], + output_shape=self.vars[2], + strides=self.op["strides"], + padding=self.op["padding"], + data_format=self.op["data_format"], + dilations=self.op["dilations"] + ) + ] + + + def execute_layers_conv3d(self): return [tf.compat.v1.layers.conv3d(inputs=self.vars[0], filters=self.op["filters"], kernel_size=self.op["kernel_size"], strides=self.op["strides"], @@ -1063,6 +1078,9 @@ def execute_zeros(self): def execute_zeros_like(self): return [tf.zeros_like(input=self.vars[0], dtype=self.op["dtype"])] + def execute_zeros_like_tf1(self): + return [tf.zeros_like(tensor=self.vars[0], dtype=self.op.get("dtype", None))] + def execute_range(self): return [tf.range(start=self.vars[0], limit=self.vars[1], delta=self.vars[2])] From ec290230153b8465c47a0ed8f10527cdd179cf8b Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Wed, 6 May 2020 13:13:49 +0300 Subject: [PATCH 09/14] some ops changed to raw_ops Signed-off-by: Andrii Tuzhykov --- import-tests/docker/Dockerfile | 4 +-- import-tests/tests/test_ops.py | 56 +++++++++++++++++----------------- import-tests/tfoptests/ops.py | 32 ++++++++++--------- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/import-tests/docker/Dockerfile b/import-tests/docker/Dockerfile index e73e410..6cd9c86 100644 --- a/import-tests/docker/Dockerfile +++ b/import-tests/docker/Dockerfile @@ -1,6 +1,6 @@ FROM continuumio/miniconda3:latest -#RUN conda install tensorflow=1.15.0 -RUN conda install tensorflow=2.0 +RUN conda install tensorflow=1.15.0 +#RUN conda install tensorflow=2.0 RUN conda install psutil ENV DL4J_TEST_RESOURCES=/dl4j-test-resources diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index ec28631..712bb16 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -498,7 +498,6 @@ def test_mathtransform(): # {"opName":"layers_conv2d_transpose", "outName":"conv2d_transpose/channels_last_b1_k2_s1_SAME_crelu", "varShapes":[[1, 5, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":[2,2], "strides":[1,1], "padding":"SAME", "data_format":"channels_last", "activation":tf.nn.crelu}, # {"opName":"layers_conv2d_transpose", "outName":"conv2d_transpose/channels_last_b2_k2_s1_SAME_regularizers", "varShapes":[[2, 5, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":[2,2], "strides":[1,1], "padding":"SAME", "data_format":"channels_last", # "kernel_regularizer":tf.contrib.layers.l2_regularizer(scale=0.1), "bias_regularizer":tf.contrib.layers.l1_regularizer(scale=0.2), "activity_regularizer":tf.contrib.layers.l1_l2_regularizer(scale_l1=0.1,scale_l2=0.2)}, - {"opName":"Conv2DTranspose", "outName":"Conv2DTranspose", "varShapes":[[1, 5, 5, 2]], "varTypes":["float32","float32"], "kernel_size":[2,2], "filters":2}, # Data format: ch_last: NDHWC, ch_first: NCDHW # "CPU implementation of Conv3D currently only supports the NHWC tensor format." @@ -629,6 +628,7 @@ def test_mathtransform(): # {"opName":"layers_dropout", "outName":"layers_dropout/rank3_d05_test", "varShapes":[[4,5,6]], "varTypes":["float32"], "varInit":["uniform"], "rate":0.5, "training":False}, # {"opName":"layers_dropout", "outName":"layers_dropout/rank4_d05_train", "varShapes":[[2,5,5,3]], "varTypes":["float32"], "varInit":["uniform"], "rate":0.5, "training":True}, # {"opName":"layers_dropout", "outName":"layers_dropout/rank4_d05_train_mask", "varShapes":[[2,5,5,3]], "varTypes":["float32"], "varInit":["uniform"], "rate":0.5, "training":True, "noise_shape":[2,1,1,3]}, + # {"opName":"layers_dropout", "outName":"layers_dropout/rank4_d05_train_mask", "varShapes":[[2,5,5,3]], "varTypes":["float32"], "varInit":["uniform"], "rate":0.5, "training":True, "noise_shape":[2,1,1,3]}, # {"opName":"contrib_nn_alpha_dropout", "outName":"alpha_dropout/rank2_p05", "varShapes":[[4,5]], "varTypes":["float32"], "varInit":["uniform"], "keep_prob":0.5}, # {"opName":"contrib_nn_alpha_dropout", "outName":"alpha_dropout/rank2_p01", "varShapes":[[4,5]], "varTypes":["float32"], "varInit":["uniform"], "keep_prob":0.1}, @@ -1250,6 +1250,8 @@ def test_mathtransform(): # {"opName": "ones_like", "outName": "ones_like/rank0", "varShapes":[[]], "varTypes":["float32"], "varInit":["uniform"]}, # {"opName": "ones_like", "outName": "ones_like/rank2", "varShapes":[[2,2]], "varTypes":["float64"], "varInit":["uniform"]}, + # {"opName": "ones_like", "outName": "emptyArrayTests/ones_like/rank1", "varShapes":[[0]], "varTypes":["float32"], "varInit":["empty"]}, + # {"opName": "ones_like", "outName": "emptyArrayTests/ones_like/rank2", "varShapes":[[2,0]], "varTypes":["float64"], "varInit":["empty"]}, # {"opName": "reverse", "outName": "reverse/rank1", "varShapes":[[3]], "varTypes":["float32"], "varInit":["uniform"], "axis":[0]}, # {"opName": "reverse", "outName": "reverse/rank2_axis0", "varShapes":[[3,4]], "varTypes":["float32"], "varInit":["uniform"], "axis":[0]}, @@ -1375,9 +1377,6 @@ def test_mathtransform(): # {"opName": "one", "outName": "emptyArrayTests/ones/ones_rank2", "varShapes":[[2]], "varTypes":["int32"], "varInit":["fixed_2_0"], "dtype":tf.float32}, # {"opName": "one", "outName": "emptyArrayTests/ones/ones_rank3", "varShapes":[[3]], "varTypes":["int32"], "varInit":["fixed_0_0_3"], "dtype":tf.int64}, - # {"opName": "ones_like", "outName": "emptyArrayTests/ones_like/rank1", "varShapes":[[0]], "varTypes":["float32"], "varInit":["empty"]}, - # {"opName": "ones_like", "outName": "emptyArrayTests/ones_like/rank2", "varShapes":[[2,0]], "varTypes":["float64"], "varInit":["empty"]}, - # {"opName": "range", "outName": "emptyArrayTests/range/0_0_1", "varShapes":[[],[],[]], "varTypes":["float32","float32","float32"], "varInit":["zero","zero","one"]}, # {"opName": "range", "outName": "emptyArrayTests/range/2_2_2", "varShapes":[[],[],[]], "varTypes":["float32","float32","float32"], "varInit":["two","two","two"]}, @@ -2290,19 +2289,19 @@ def test_mathtransform(): # doesnt work on cpu, better launch on kraken # {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[5], [1, 1, 1, 3, 1], [1, 3, 3, 3, 1]], "varTypes":["int32","float32", "float32"], "varInit": ["uniform_int10","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1]}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_VALID", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,2,2,1], "padding":"SAME", "data_format":"NHWC"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s1_d1_SAME", "varShapes":[[1, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 2]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[2,2,2,2], "strides":[1,1,1,1], "dilations":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_VALID", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,2,2,1], "padding":"SAME", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s1_d1_SAME", "varShapes":[[1, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, # Only for TF 2.X # {"opName":"copy", "outName":"Copy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, @@ -2420,11 +2419,12 @@ def test_mathtransform(): # {"opName": "random_normal", "outName": "random_normal/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float64}, # {"opName": "random_normal", "outName": "random_normal/rank2_half", "varShapes": [[2]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.half}, # -# {"opName": "random_uniform", "outName": "random_unidorm/rank1_float16", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":[1,2,7,4], "seed":12345, "dtype":tf.float16}, -# {"opName": "random_uniform", "outName": "random_unidorm/rank3_float32", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.float32}, -# {"opName": "random_uniform", "outName": "random_unidorm/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":3, "seed":12345, "dtype":tf.float64}, -# {"opName": "random_uniform", "outName": "random_unidorm/rank4_int64", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, "dtype":tf.int64}, -# +# {"opName": "random_uniform_int", "outName": "random_uniform_int/rank1_int32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, }, +# {"opName": "random_uniform_int", "outName": "random_uniform_int/rank3_int64", "varShapes": [[3]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345}, +# {"opName": "random_uniform", "outName": "random_uniform/rank3_float32", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32, "seed":12345}, +# {"opName": "random_uniform", "outName": "random_uniform/rank3_float64", "varShapes": [[3]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "dtype":tf.float64, "seed2":1, "seed":12345}, +# {"opName": "random_uniform", "outName": "random_uniform/rank3_half", "varShapes": [[3]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "dtype":tf.half, "seed2":1, "seed":12345}, + # {"opName": "zeros_like_tf1", "outName": "emptyArrayTests/zeros_like_tf1/rank1", "varShapes":[[0]], "varTypes":["float32"], "varInit":["empty"]}, # {"opName": "zeros_like_tf1", "outName": "emptyArrayTests/zeros_like_tf1/rank2", "varShapes":[[2,0]], "varTypes":["float64"], "varInit":["empty"]}, # {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float16", "varShapes": [[3, 12]],"varTypes": ["float16"], "varInit": ["uniform"]}, @@ -2432,12 +2432,12 @@ def test_mathtransform(): # {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float64", "varShapes": [[3, 12]], "varTypes": ["float64"], "varInit": ["uniform"]}, # {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_int32", "varShapes": [[3, 10]], "varTypes": ["int32"], "varInit": ["uniform_int10"]}, # {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_int64", "varShapes": [[3, 10]], "varTypes": ["int64"], "varInit": ["uniform_int10"]}, -# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int8", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int8}, -# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int16", "varShapes": [[3, 12]],"varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.int16}, -# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype":tf.int32}, -# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float16", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.float16}, -# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.float32}, -# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float64", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"], "dtype": tf.float64}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int8", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"] }, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int16", "varShapes": [[3, 12]],"varTypes": ["float32"], "varInit": ["uniform"] }, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_int32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float16", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float32", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"]}, +# {"opName": "zeros_like_tf1", "outName": "zeros_like_tf1/rank2_float32_dtype_float64", "varShapes": [[3, 12]], "varTypes": ["float32"], "varInit": ["uniform"]}, ] diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index f8d0865..c7bd45e 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -351,11 +351,11 @@ def execute_conv2d_transpose(self): tf.nn.conv2d_transpose( value=self.vars[0], filter=self.vars[1], - output_shape=self.vars[2], + output_shape=self.op["output_shape"], strides=self.op["strides"], padding=self.op["padding"], data_format=self.op["data_format"], - dilations=self.op["dilations"] + dilations=self.op.get("dilations", None) ) ] @@ -1070,7 +1070,7 @@ def execute_ones(self): return [tf.ones(shape=self.vars[0], dtype=self.op["dtype"])] def execute_ones_like(self): - return [tf.ones_like(input=self.vars[0])] + return [tf.raw_ops.OnesLike(x = self.vars[0])] def execute_zeros(self): return [tf.zeros(shape=self.vars[0], dtype=self.op["dtype"])] @@ -1079,7 +1079,7 @@ def execute_zeros_like(self): return [tf.zeros_like(input=self.vars[0], dtype=self.op["dtype"])] def execute_zeros_like_tf1(self): - return [tf.zeros_like(tensor=self.vars[0], dtype=self.op.get("dtype", None))] + return [tf.raw_ops.ZerosLike(x=self.vars[0])] def execute_range(self): return [tf.range(start=self.vars[0], limit=self.vars[1], delta=self.vars[2])] @@ -1323,7 +1323,8 @@ def execute_crop_and_resize(self): method = self.op["method"], extrapolation_value = self.op["ext_value"])] def execute_random_crop(self): - return [tf.image.random_crop(self.vars[0], self.vars[1])] +# return [tf.image.random_crop(self.vars[0], self.vars[1])] + return [tf.raw_ops.RandomCrop(image = self.vars[0], size = self.vars[1])] def execute_draw_bounding_boxes(self): return [tf.image.draw_bounding_boxes(images = self.vars[0], boxes = self.vars[1], colors = self.vars[2])] @@ -1341,8 +1342,8 @@ def execute_resize_bicubic(self): half_pixel_centers=self.op["half_pixel_centers"])] def execute_resize_area(self): - return [tf.image.resize(images=self.vars[0], size=self.vars[1], \ - method=tf.image.ResizeMethod.AREA)] + return [tf.raw_ops.ResizeArea( + images = self.vars[0], size = self.vars[1], align_corners=self.op.get("align_corners", False) )] def execute_non_max_suppression(self): iou_threshold = 0.5 @@ -1435,9 +1436,6 @@ def execute_empty(self): def execute_deep_copy(self): return [tf.raw_ops.DeepCopy(x = self.vars[0])] - def execute_ones_like_tf1(self): - return [tf.ones_like(tensor = self.vars[0])] - def execute_random_gamma(self): return [tf.random.gamma( shape = self.vars[0] , @@ -1473,15 +1471,21 @@ def execute_random_normal(self): seed = self.op.get("seed", None), )] - def execute_random_uniform(self): - return [tf.random.uniform( + def execute_random_uniform_int(self): + return [tf.raw_ops.RandomUniformInt( shape = self.vars[0], minval=self.op["minval"], maxval=self.op["maxval"], - dtype=self.op["dtype"], - seed = self.op.get("seed", None), + seed = self.op.get("seed", 0), + seed2 = self.op.get("seed2", 0) )] + def execute_random_uniform(self): + return [tf.raw_ops.RandomUniform( + shape = self.vars[0], dtype = self.op["dtype"], seed = self.op.get("seed", 0), seed2 = self.op.get("seed2", 0) + )] + + def execute_div(self): return [tf.raw_ops.Div( From 3fe04afb69c758bc73cd43d919b4df683daaded4 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Wed, 6 May 2020 22:00:33 +0200 Subject: [PATCH 10/14] maxpoolwihargmax testcases added --- import-tests/tests/test_ops.py | 29 +++++++++++++++++++++++++---- import-tests/tfoptests/ops.py | 10 +++++++--- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 712bb16..3e0b49f 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -2289,7 +2289,7 @@ def test_mathtransform(): # doesnt work on cpu, better launch on kraken # {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[5], [1, 1, 1, 3, 1], [1, 3, 3, 3, 1]], "varTypes":["int32","float32", "float32"], "varInit": ["uniform_int10","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1]}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 2]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[2,2,2,2], "strides":[1,1,1,1], "dilations":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 2]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[2,2,2,2], "strides":[1,1,1,1], "dilations":1, "padding":"SAME", "data_format":"NHWC"}, # {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, # {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, # {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, @@ -2371,9 +2371,28 @@ def test_mathtransform(): # {"opName": "lgamma", "outName": "lgamma/emptyArrayTest/float32", "varShapes": [[0, 0]], "varTypes": ["float32"], "varInit": ["empty"]}, - # https://gist.github.com/atuzhykov/b9ba46de91c54eda65c24546db11b9d3 looks like problem with CPU compatible - # {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/someoutput", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - # "strides": [1,1,1,1], "padding":"SAME", "data_format":'NHWC' ,"include_batch_in_index": True, "output_dtype": tf.int32}, +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, + +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float64_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float64"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, + +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/int32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["int32"], "varInit": ["uniform_int10"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, + +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/int64_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["int64"], "varInit": ["uniform_int10"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, + +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_VALID", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"VALID" ,"include_batch_in_index": True, "output_dtype": tf.int64}, + +{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float64_int64_padding_VALID_includeBatch_false", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], + "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": False, "output_dtype": tf.int64}, + + + # {"opName":"mod", "outName":"mod/float32", "varShapes":[[1, 2, 3],[1, 2, 3]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"]}, @@ -2535,4 +2554,6 @@ def test_mathtransform(): tf.compat.v1.disable_eager_execution() if __name__ == '__main__': + print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU'))) + test_mathtransform() diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index c7bd45e..5918c8d 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -301,8 +301,12 @@ def execute_avg_pooling1d(self): return [tf.compat.v1.layers.average_pooling1d(inputs=self.vars[0], pool_size=self.op["pooling_size"], strides=self.op["stride"], padding=self.op["padding"], data_format=self.op["data_format"])] def execute_max_pool_with_argmax(self): - return [tf.nn.max_pool_with_argmax(input = self.vars[0], ksize = self.op["ksizes"], strides = self.op["strides"],\ - padding = self.op["padding"], data_format = self.op["data_format"], output_dtype = self.op["output_dtype"])] + return tf.raw_ops.MaxPoolWithArgmax(input = self.vars[0], + ksize = self.op["ksizes"], + strides = self.op["strides"], + padding = self.op["padding"], + Targmax= self.op["output_dtype"], + include_batch_in_index= self.op["include_batch_in_index"]) def execute_dense(self): kr = self.op.get("kernel_regularizer",None) @@ -355,7 +359,7 @@ def execute_conv2d_transpose(self): strides=self.op["strides"], padding=self.op["padding"], data_format=self.op["data_format"], - dilations=self.op.get("dilations", None) + dilations=self.op["dilations"] ) ] From 62c5f23fbf832b25e4f758ba69df83c04b836fb1 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Thu, 7 May 2020 15:30:04 +0200 Subject: [PATCH 11/14] figured out conv2d_transpose and conv3dbackpropinputv2 using gpu --- import-tests/tests/test_ops.py | 67 +++++++++++++++------------------- import-tests/tfoptests/ops.py | 28 ++++++++------ 2 files changed, 46 insertions(+), 49 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 3e0b49f..13a8af5 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -2286,22 +2286,17 @@ def test_mathtransform(): # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int32", "varShapes": [[8]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "threshold":2,}, # {"opName": "compare_and_bitpack", "outName": "compare_and_bitpack/int64", "varShapes": [[16]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "threshold":1,}, -# doesnt work on cpu, better launch on kraken -# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInput/someoutput", "varShapes":[[5], [1, 1, 1, 3, 1], [1, 3, 3, 3, 1]], "varTypes":["int32","float32", "float32"], "varInit": ["uniform_int10","uniform","uniform"], "strides":[1,1,1,1,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1]}, - - {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 2]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[2,2,2,2], "strides":[1,1,1,1], "dilations":1, "padding":"SAME", "data_format":"NHWC"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b2_k2_s1_d1_VALID", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_b1_k2_s2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,2,2,1], "padding":"SAME", "data_format":"NHWC"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s1_d1_SAME", "varShapes":[[1, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, -# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInputV2/NDHWC_SAME_float32", "varShapes":[[1, 8, 8, 8, 6],[2, 2, 2, 3, 6]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"], "input_sizes":[1, 16, 16, 16, 3], "strides":[1,2,2,2,1], "padding":"SAME", "dilations":[1, 1, 1, 1, 1], "data_format":"NDHWC"}, +# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInputV2/NDHWC_VALID_float32", "varShapes":[[1, 8, 8, 8, 6],[2, 2, 2, 3, 6]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"], "input_sizes":[1, 16, 16, 16, 3], "strides":[1,2,2,2,1], "padding":"VALID", "dilations":[1, 1, 1, 1, 1], "data_format":"NDHWC"}, +# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInputV2/NDHWC_VALID_half", "varShapes":[[1, 8, 8, 8, 6],[2, 2, 2, 3, 6]], "varTypes":["half","half"], "varInit": ["uniform","uniform"], "input_sizes":[1, 16, 16, 16, 3], "strides":[1,2,2,2,1], "padding":"VALID", "dilations":[1, 1, 1, 1, 1], "data_format":"NDHWC"}, +# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInputV2/NCDHW_VALID_float32", "varShapes":[[1, 6, 8, 8, 8],[2, 2, 2, 3, 6]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"], "input_sizes":[1, 3, 16, 16, 16], "strides":[1,1,2,2,2], "padding":"VALID", "dilations":[1, 1, 1, 1, 1], "data_format":"NCDHW"}, +# {"opName":"Conv3DBackpropInputV2", "outName":"Conv3DBackpropInputV2/NCDHW_SAME_float32", "varShapes":[[1, 6, 8, 8, 8],[2, 2, 2, 3, 6]], "varTypes":["float32","float32"], "varInit": ["uniform","uniform"], "input_sizes":[1, 3, 16, 16, 16], "strides":[1,1,2,2,2], "padding":"SAME", "dilations":[1, 1, 1, 1, 1], "data_format":"NCDHW"}, + +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_s1221_d1111_SAME", "varShapes":[[1, 16, 16, 3], [2, 2, 6, 3]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[1, 32, 32, 6], "strides":[1,2,2,1], "dilations":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_s1221_d1111_VALID", "varShapes":[[1, 16, 16, 3], [2, 2, 6, 3]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[1, 32, 32, 6], "strides":[1,2,2,1], "dilations":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_s1221_d1111_VALID", "varShapes":[[1, 16, 16, 3], [2, 2, 6, 3]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[1, 32, 32, 6], "strides":[1,2,2,1], "dilations":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_s1221_d1_VALID", "varShapes":[[1, 16, 16, 3], [2, 2, 6, 3]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[1, 32, 32, 6], "strides":[1,2,2,1], "dilations":1, "padding":"VALID", "data_format":"NHWC"}, +# {"opName":"conv2d_transpose", "outName":"conv2d_transpose/nhwc_s1221_d1_SAME", "varShapes":[[1, 16, 16, 3], [2, 2, 6, 3]], "varTypes":["float32","float32"], "varInit": ["uniform", "uniform"], "output_shape":[1, 32, 32, 6], "strides":[1,2,2,1], "dilations":1, "padding":"SAME", "data_format":"NHWC"}, # Only for TF 2.X # {"opName":"copy", "outName":"Copy/float32", "varShapes":[[1, 3, 2]], "varTypes":["float32"], "varInit": ["uniform"] }, @@ -2371,25 +2366,25 @@ def test_mathtransform(): # {"opName": "lgamma", "outName": "lgamma/emptyArrayTest/float32", "varShapes": [[0, 0]], "varTypes": ["float32"], "varInit": ["empty"]}, -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, - -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float64_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float64"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, - -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/int32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["int32"], "varInit": ["uniform_int10"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, - -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/int64_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["int64"], "varInit": ["uniform_int10"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, - -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_VALID", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"VALID" ,"include_batch_in_index": True, "output_dtype": tf.int64}, - -{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float64_int64_padding_VALID_includeBatch_false", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], - "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": False, "output_dtype": tf.int64}, +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +# +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float64_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float64"], "varInit": ["uniform"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +# +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/int32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["int32"], "varInit": ["uniform_int10"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +# +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/int64_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["int64"], "varInit": ["uniform_int10"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_SAME", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +# +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_int64_padding_VALID", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"VALID" ,"include_batch_in_index": True, "output_dtype": tf.int64}, +# +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float64_int64_padding_VALID_includeBatch_false", "varShapes":[[1, 16, 16 ,3]], "varTypes":["float32"], "varInit": ["uniform"], "ksizes": [1,1,1,1], +# "strides": [1,1,1,1], "padding":"SAME" ,"include_batch_in_index": False, "output_dtype": tf.int64}, @@ -2554,6 +2549,4 @@ def test_mathtransform(): tf.compat.v1.disable_eager_execution() if __name__ == '__main__': - print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU'))) - test_mathtransform() diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index 5918c8d..6b19fb1 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -351,17 +351,14 @@ def execute_layers_conv2d_transpose(self): kernel_constraint=self.op.get("kernel_constraint",None), bias_constraint=self.op.get("bias_constraint",None))] def execute_conv2d_transpose(self): - return [ - tf.nn.conv2d_transpose( - value=self.vars[0], - filter=self.vars[1], - output_shape=self.op["output_shape"], - strides=self.op["strides"], - padding=self.op["padding"], - data_format=self.op["data_format"], - dilations=self.op["dilations"] - ) - ] + return [ tf.nn.conv2d_transpose(input = self.vars[0], + filter = self.vars[1], + output_shape = self.op["output_shape"], + strides = self.op["strides"], + dilations = self.op["dilations"], + data_format = self.op["data_format"], + padding = self.op["padding"])] + @@ -1432,7 +1429,14 @@ def execute_compare_and_bitpack(self): return [tf.raw_ops.CompareAndBitpack(input=self.vars[0], threshold = self.op["threshold"])] def execute_Conv3DBackpropInputV2(self): - return [tf.raw_ops.Conv3DBackpropInputV2(input_sizes=self.vars[0],filter=self.vars[1], out_backprop=self.vars[2], strides=self.op["strides"], padding=self.op["padding"], dilations=self.op["dilations"])] + return [tf.raw_ops.Conv3DBackpropInputV2( + input_sizes=self.op["input_sizes"], + filter=self.vars[1], + out_backprop=self.vars[0], + strides=self.op["strides"], + padding=self.op["padding"], + data_format=self.op["data_format"], + dilations=self.op["dilations"])] def execute_empty(self): return [tf.raw_ops.Empty(shape = self.vars[0], dtype = self.op["dtype"])] From a7b8660415b37575682c829563bf1360b111eb4d Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Tue, 12 May 2020 23:00:06 +0300 Subject: [PATCH 12/14] nonmaxsuppresion ops new versions added and old ops casted to raw_ops instead wrapper tf.image.X Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 29 +++++++++++------ import-tests/tfoptests/ops.py | 57 +++++++++++++++++++++++++++------- 2 files changed, 65 insertions(+), 21 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 13a8af5..9c72a2b 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -2096,14 +2096,25 @@ def test_mathtransform(): #{"opName": "log_softmax", "outName": "log_softmax/emptyArrayTest/partial_rank4_float64", "varShapes": [[0, 1, 0, 0]], "varTypes": ["float32"], "varInit": ["uniform"], "axis":0}, # {"opName": "log_softmax", "outName": "log_softmax/partial_rank3_float64", "varShapes": [[1, 0, 0]], "varTypes": ["float64"], "varInit": ["uniform"],"axis":0}, - #{"opName": "non_max_suppression", "outName": "non_max_suppression/float32", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32","float32","int32"], "varInit": ["uniform","uniform","zero"]}, - #{"opName": "non_max_suppression_v2", "outName": "non_max_suppression_v2/float32", "varShapes": [[3, 4], [3], []], "varTypes": ["float32","float32","int32"], "varInit": ["uniform","uniform","uniform_int10"]}, - #{"opName": "non_max_suppression", "outName": "non_max_suppression/float16", "varShapes": [[3, 4], [3], []],"varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "uniform_int10"]}, - #{"opName": "non_max_suppression_v2", "outName": "non_max_suppression_v2/float16", "varShapes": [[3, 4], [3], []],"varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "uniform_int10"]}, - #{"opName": "non_max_suppression", "outName": "non_max_suppression/float32_with_thresholds", "varShapes": [[3, 4], [3], []], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.0, "score_threshold": 0.0}, - #{"opName": "non_max_suppression", "outName": "non_max_suppression/emptyArrayTest/float32_with_thresholds", "varShapes": [[0, 4], [0], []], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.2, "score_threshold": 0.5}, - #{"opName": "non_max_suppression", "outName": "non_max_suppression/emptyArrayTest/float16_with_thresholds", "varShapes": [[0, 4], [0], []], "varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.5, "score_threshold": 0.5}, - #{"opName": "non_max_suppression", "outName": "non_max_suppression/emptyArrayTest/float32_with_thresholds", "varShapes": [[0, 4], [0], []], "varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4}, +# {"opName": "non_max_suppression", "outName": "non_max_suppression/float32", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32","float32","int32"], "varInit": ["uniform","uniform","zero"]}, +# {"opName": "non_max_suppression", "outName": "non_max_suppression/float32_with_thresholds", "varShapes": [[3, 4], [3], []], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.0, "score_threshold": 0.0}, +# {"opName": "non_max_suppression", "outName": "non_max_suppression/emptyArrayTest/float32_with_thresholds", "varShapes": [[0, 4], [0], []], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.2, "score_threshold": 0.5}, + +# {"opName": "non_max_suppression_v2", "outName": "non_max_suppression_v2/float32", "varShapes": [[3, 4], [3], []], "varTypes": ["float32","float32","int32"], "varInit": ["uniform","uniform","uniform_int10"]}, +# {"opName": "non_max_suppression_v2", "outName": "non_max_suppression_v2/half", "varShapes": [[3, 4], [3], []],"varTypes": ["half", "half", "int32"], "varInit": ["uniform", "uniform", "uniform_int10"]}, +# +# {"opName": "non_max_suppression_v3", "outName": "non_max_suppression_v3/float16_with_thresholds", "varShapes": [[3, 4],[3],[]], "varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.5, "score_threshold": 0.5}, +# {"opName": "non_max_suppression_v3", "outName": "non_max_suppression_v3/float32_with_thresholds", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4}, +# +# {"opName": "non_max_suppression_v4", "outName": "non_max_suppression_v4/float16_with_thresholds", "varShapes": [[3, 4],[3],[]], "varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.5, "score_threshold": 0.5}, +# {"opName": "non_max_suppression_v4", "outName": "non_max_suppression_v4/float32_with_thresholds", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4}, +# {"opName": "non_max_suppression_v4", "outName": "non_max_suppression_v4/float32_with_thresholds_pad_to_max_output_size", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4, "pad_to_max_output_size":True}, + +# {"opName": "non_max_suppression_v5", "outName": "non_max_suppression_v5/float16_with_thresholds", "varShapes": [[3, 4],[3],[]], "varTypes": ["float16", "float16", "int32"], "varInit": ["uniform", "uniform", "zero"], "iou_threshold": 0.5, "score_threshold": 0.5}, +# {"opName": "non_max_suppression_v5", "outName": "non_max_suppression_v5/float32_with_thresholds", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4}, +# {"opName": "non_max_suppression_v5", "outName": "non_max_suppression_v5/float32_with_thresholds_pad_to_max_output_size", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4, "pad_to_max_output_size":True}, +# {"opName": "non_max_suppression_v5", "outName": "non_max_suppression_v5/float32_with_thresholds_soft_nms_sigma", "varShapes": [[3, 4],[3],[]], "varTypes": ["float32", "float32", "int32"], "varInit": ["uniform", "uniform", "one"], "iou_threshold": 0.4, "score_threshold": 0.4, "soft_nms_sigma":0.3}, + # {"opName": "betainc", "outName": "betainc/rank1_float32", "varShapes":[[4],[4],[4]], "varTypes":["float32","float32","float32"], "varInit":["uniform_0_1","uniform_0_1","uniform_0_1"]}, # {"opName": "betainc", "outName": "betainc/rank2_float32", "varShapes": [[3,4],[3,4],[3,4]], "varTypes": ["float32","float32","float32"], "varInit": ["uniform_0_1","uniform_0_1","uniform_0_1"]}, @@ -2407,7 +2418,7 @@ def test_mathtransform(): # # {"opName": "random_gamma", "outName": "random_gamma/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1, "alpha":[0.5, 1.5], "dtype":tf.float32}, # {"opName": "random_gamma", "outName": "random_gamma/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.float64}, -# {"opName": "random_gamma", "outName": "random_gamma/rank3_half", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.half}, + {"opName": "random_gamma", "outName": "random_gamma/rank3_half", "varShapes": [[6]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":123, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.half}, # # # {"opName": "random_poisson", "outName": "random_poisson/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 2.5],"dtype":tf.float16}, diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index 6b19fb1..a70f420 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -1347,20 +1347,52 @@ def execute_resize_area(self): images = self.vars[0], size = self.vars[1], align_corners=self.op.get("align_corners", False) )] def execute_non_max_suppression(self): - iou_threshold = 0.5 - score_threshold = 0.5 - if("iou_threshold" in self.op): - iou_threshold = self.op["iou_threshold"] - if("score_threshold" in self.op): - score_threshold = self.op["score_threshold"] + return [tf.raw_ops.NonMaxSuppression( + boxes = self.vars[0], + scores = self.vars[1], + max_output_size = self.vars[2], + iou_threshold = self.op.get("iou_threshold", 0.5), - return [tf.image.non_max_suppression(boxes = - self.vars[0], scores = self.vars[1], max_output_size = self.vars[2], - iou_threshold=iou_threshold, score_threshold=score_threshold)] + )] def execute_non_max_suppression_v2(self): - return [tf.image.non_max_suppression(self.vars[0], self.vars[1], self.vars[2])] - + return [tf.raw_ops.NonMaxSuppressionV2( + boxes = self.vars[0], + scores = self.vars[1], + max_output_size = self.vars[2], + iou_threshold = self.op.get("iou_threshold", 0.5), + + )] + + def execute_non_max_suppression_v3(self): + return [tf.raw_ops.NonMaxSuppressionV3( + boxes = self.vars[0], + scores = self.vars[1], + max_output_size = self.vars[2], + iou_threshold = self.op.get("iou_threshold", 0.5), + score_threshold = self.op.get("score_threshold", 0.5) + )] + + def execute_non_max_suppression_v4(self): + return tf.raw_ops.NonMaxSuppressionV4( + boxes = self.vars[0], + scores = self.vars[1], + max_output_size = self.vars[2], + iou_threshold = self.op.get("iou_threshold", 0.5), + score_threshold = self.op.get("score_threshold", 0.5), + pad_to_max_output_size=self.op.get("pad_to_max_output_size", False), + ) + + def execute_non_max_suppression_v5(self): + return tf.raw_ops.NonMaxSuppressionV5( + boxes = self.vars[0], + scores = self.vars[1], + max_output_size = self.vars[2], + iou_threshold = self.op.get("iou_threshold", 0.5), + score_threshold = self.op.get("score_threshold", 0.5), + soft_nms_sigma = self.op.get("soft_nms_sigma", 0.0), + pad_to_max_output_size=self.op.get("pad_to_max_output_size", False), + ) def execute_dropout(self): return [tf.nn.dropout(x = self.vars[0], rate = self.op["rate"], seed = self.op.get("seed", None), noise_shape = self.op.get("noise_shape", None))] @@ -1509,4 +1541,5 @@ def execute_copy(self): def execute_copy_host(self): return [tf.raw_ops.CopyHost( x = self.vars[0] - )] \ No newline at end of file + )] + From 6b947ce3fb025498fdad45874625d05af0b1b0d6 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Thu, 14 May 2020 13:09:45 +0300 Subject: [PATCH 13/14] mod and size ops changed to raw_ops Signed-off-by: Andrii Tuzhykov --- import-tests/tfoptests/ops.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index a70f420..c0ea564 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -78,8 +78,9 @@ def execute_depth_to_space(self): return [tf.compat.v1.depth_to_space(input=self.vars[0], block_size=2, data_format=self.op["data_format"])] def execute_size(self): - temp = tf.add(self.vars[0], 1.0) - return [tf.add(tf.size(input=temp), 1)] + return [tf.raw_ops.Size( + input = self.vars[0], out_type=tf.dtypes.int32, name=None + )] def execute_shape(self): temp = tf.add(self.vars[0], 1.0) @@ -1415,7 +1416,7 @@ def execute_min(self): return [tf.math.minimum(self.vars[0], self.vars[1])] def execute_mod(self): - return [tf.math.mod(self.vars[0], self.vars[1])] + return [tf.raw_ops.Mod(x = self.vars[0], y = self.vars[1])] def execute_mul(self): return [tf.math.mul(self.vars[0], self.vars[1])] From ee7a0d43dab0ae09ec6bee582e5acdf556306ae3 Mon Sep 17 00:00:00 2001 From: Andrii Tuzhykov Date: Fri, 15 May 2020 12:28:08 +0300 Subject: [PATCH 14/14] changed src dir Signed-off-by: Andrii Tuzhykov --- import-tests/tests/test_ops.py | 333 ++++++++++++++-------------- import-tests/tfoptests/ops.py | 23 +- import-tests/tfoptests/persistor.py | 6 +- 3 files changed, 193 insertions(+), 169 deletions(-) diff --git a/import-tests/tests/test_ops.py b/import-tests/tests/test_ops.py index 9c72a2b..b76acf9 100644 --- a/import-tests/tests/test_ops.py +++ b/import-tests/tests/test_ops.py @@ -104,24 +104,24 @@ def test_mathtransform(): # {"opName": "matrix_inverse", "outName": "matrix_inverse/rank2", "varShapes":[[3,3]], "varTypes":["float32"], "varInit":["uniform"]}, # {"opName": "matrix_inverse", "outName": "matrix_inverse/rank3", "varShapes":[[2,3,3]], "varTypes":["float32"], "varInit":["uniform"]}, # {"opName": "matrix_inverse", "outName": "matrix_inverse/rank4", "varShapes":[[2,2,3,3]], "varTypes":["float32"], "varInit":["uniform"]} - # {"opName": "pad", "outName": "pad/rank1Pzero_const0", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","zero"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank1Pzero_const10", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","ten"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank1Pone_const0", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","zero"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank1Pone_const10", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","ten"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank1Pone_reflect", "varShapes":[[5],[1,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"REFLECT"}, - # {"opName": "pad", "outName": "pad/rank1Pone_symmetric", "varShapes":[[5],[1,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"SYMMETRIC"} - # {"opName": "pad", "outName": "pad/rank2Pzero_const0", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","zero"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank2Pzero_const10", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","ten"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank2Pone_const0", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","zero"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank2Pone_const10", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","ten"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank2Pone_reflect", "varShapes":[[3,4],[2,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"REFLECT"}, - # {"opName": "pad", "outName": "pad/rank2Pone_symmetric", "varShapes":[[3,4],[2,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"SYMMETRIC"}, - # {"opName": "pad", "outName": "pad/rank3Pzero_const0", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","zero"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank3Pzero_const10", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","ten"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank3Pone_const0", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","zero"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank3Pone_const10", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","ten"], "mode":"CONSTANT"}, - # {"opName": "pad", "outName": "pad/rank3Pone_reflect", "varShapes":[[2,3,4],[3,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"REFLECT"}, - # {"opName": "pad", "outName": "pad/rank3Pone_symmetric", "varShapes":[[2,3,4],[3,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"SYMMETRIC"}, +# {"opName": "pad", "outName": "pad/rank1Pzero_const0", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","zero"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank1Pzero_const10", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","ten"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank1Pone_const0", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","zero"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank1Pone_const10", "varShapes":[[5],[1,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","ten"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank1Pone_reflect", "varShapes":[[5],[1,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"REFLECT"}, +# {"opName": "pad", "outName": "pad/rank1Pone_symmetric", "varShapes":[[5],[1,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"SYMMETRIC"}, +# {"opName": "pad", "outName": "pad/rank2Pzero_const0", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","zero"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank2Pzero_const10", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","ten"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank2Pone_const0", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","zero"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank2Pone_const10", "varShapes":[[3,4],[2,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","ten"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank2Pone_reflect", "varShapes":[[3,4],[2,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"REFLECT"}, +# {"opName": "pad", "outName": "pad/rank2Pone_symmetric", "varShapes":[[3,4],[2,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"SYMMETRIC"}, +# {"opName": "pad", "outName": "pad/rank3Pzero_const0", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","zero"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank3Pzero_const10", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","zero","ten"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank3Pone_const0", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","zero"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank3Pone_const10", "varShapes":[[2,3,4],[3,2],[]], "varTypes":["float32", "int32", "float32"], "varInit":["uniform","one","ten"], "mode":"CONSTANT"}, +# {"opName": "pad", "outName": "pad/rank3Pone_reflect", "varShapes":[[2,3,4],[3,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"REFLECT"}, +# {"opName": "pad", "outName": "pad/rank3Pone_symmetric", "varShapes":[[2,3,4],[3,2]], "varTypes":["float32", "int32"], "varInit":["uniform","one"], "mode":"SYMMETRIC"}, # {"opName": "unique", "outName": "unique10-5", "varShapes":[[10]], "varTypes":["float32"], "varInit":["uniform_int5"]}, # {"opName": "unique_with_counts", "outName": "uniqueWithCounts10-5", "varShapes":[[10]], "varTypes":["float32"], "varInit":["uniform_int5"]}, # {"opName": "topk", "outName": "topk/rank1_k1", "varShapes":[[10]], "varTypes":["float32"], "varInit":["uniform"], "k":1, "sorted":False}, @@ -240,7 +240,7 @@ def test_mathtransform(): # {"opName": "mean_squared_error", "outName": "losses/mse_rank3_weights_1", "varShapes":[[2,3,4],[2,3,4],[]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, # {"opName": "mean_squared_error", "outName": "losses/mse_rank3_weights_2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, # {"opName": "mean_squared_error", "outName": "losses/mse_rank3_weights_3", "varShapes":[[2,3,4],[2,3,4],[2,1,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, - # {"opName": "mean_squared_error", "outName": "losses/mse_rank3_weights_4", "varShapes":[[2,3,4],[2,3,4],[2,3,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]} + # {"opName": "mean_squared_error", "outName": "losses/mse_rank3_weights_4", "varShapes":[[2,3,4],[2,3,4],[2,3,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, # {"opName": "absolute_difference", "outName": "losses/absdiff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, # {"opName": "absolute_difference", "outName": "losses/absdiff_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, # {"opName": "absolute_difference", "outName": "losses/absdiff_rank2", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, @@ -252,98 +252,98 @@ def test_mathtransform(): # {"opName": "absolute_difference", "outName": "losses/absdiff_rank3_weights_1", "varShapes":[[2,3,4],[2,3,4],[]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, # {"opName": "absolute_difference", "outName": "losses/absdiff_rank3_weights_2", "varShapes":[[2,3,4],[2,3,4],[2,1,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, - #{"opName": "cosine_distance", "outName": "losses/cosine_diff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":None}, #Cosine doesn't like rank 0 input, it seems... - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":0}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis0_SUM", "varShapes":[[3,4],[3,4],[1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM, "axis":0}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.NONE, "axis":1}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM, "axis":1}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN, "axis":1}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE, "axis":1}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS, "axis":1}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":0}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_axis1", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":1}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_axis2", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":2}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[1,1,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, #Can't have weights [2,1,1]? Maybe weights must match post reduce... - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, - # {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[1,3,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":0}, #Cosine doesn't like rank 0 input, it seems... +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":0}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis0_SUM", "varShapes":[[3,4],[3,4],[1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM, "axis":0}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE, "axis":1}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM, "axis":1}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN, "axis":1}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE, "axis":1}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank2_axis1_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS, "axis":1}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":0}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_axis1", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":1}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_axis2", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"], "axis":2}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[1,1,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, #Can't have weights [2,1,1]? Maybe weights must match post reduce... +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, +# {"opName": "cosine_distance", "outName": "losses/cosine_diff_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[1,3,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"], "axis":0}, #Hinge: need bernoulli (0 or 1) labels, and 0 centered predictions (<0 negative, > 0 positive) - # {"opName": "hinge_loss", "outName": "losses/hinge_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["bernoulli","uniform_m1_1"]}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank2_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.losses.Reduction.NONE}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank2_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank2_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank2_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank2_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["bernoulli","uniform_m1_1"]}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[2,1,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, - # {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[2,3,4]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, - - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank1_d05", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"],"delta":0.5}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank1_d2", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"],"delta":2.0}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis0_SUM", "varShapes":[[3,4],[3,4],[1,4]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.NONE}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_axis1", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_axis2", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[1,1,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, - # {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[1,3,4]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, - - # {"opName": "log_loss", "outName": "losses/log_loss_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank1_eps01", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"],"epsilon":0.1}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis0_SUM", "varShapes":[[3,4],[3,4],[1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.NONE}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3_axis1", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3_axis2", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[1,1,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, - # {"opName": "log_loss", "outName": "losses/log_loss_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[1,3,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, - - #sigmoid_cross_entropy: seems to only support [batch_size, num_classes] shapes? - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","stdnormal"]}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_smooth01", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","stdnormal"],"label_smoothing":0.1}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_smooth05", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","stdnormal"],"label_smoothing":0.5}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.NONE}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE}, - # {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, - - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce", "varShapes":[[10,4],[10,4]], "varTypes":["float32","float32"], "varInit":["onehot","stdnormal"]}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_smooth01", "varShapes":[[10,4],[10,4]], "varTypes":["float32","float32"], "varInit":["onehot","stdnormal"],"label_smoothing":0.1}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_smooth05", "varShapes":[[10,4],[10,4]], "varTypes":["float32","float32"], "varInit":["onehot","stdnormal"],"label_smoothing":0.5}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_NONE", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.NONE}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_SUM", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_MEAN", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_SUM_OVER_BATCH_SIZE", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE}, - # {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, - - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce", "varShapes":[[10],[10,5]], "varTypes":["int32","float32"], "varInit":["uniform_int5","stdnormal"]}, - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_NONE", "varShapes":[[10],[10,5],[10,1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.NONE}, - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM", "varShapes":[[10],[10,5],[10,1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM}, - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_MEAN", "varShapes":[[10],[10,5],[10,1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.MEAN}, - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM_OVER_BATCH_SIZE", "varShapes":[[10],[10,5],[10]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_OVER_BATCH_SIZE}, - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[10],[10,5],[10]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, - # {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM_BY_NONZERO_WEIGHTS_1", "varShapes":[[10],[10,5],[1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["bernoulli","uniform_m1_1"]}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank2_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank2_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank2_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank2_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank2_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["bernoulli","uniform_m1_1"]}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[2,1,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, +# {"opName": "hinge_loss", "outName": "losses/hinge_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[2,3,4]], "varTypes":["float32","float32","float32"], "varInit":["bernoulli","uniform_m1_1","uniform"]}, + +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank1_d05", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"],"delta":0.5}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank1_d2", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"],"delta":2.0}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis0_SUM", "varShapes":[[3,4],[3,4],[1,4]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank2_axis1_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_axis1", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_axis2", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["stdnormal","stdnormal"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[1,1,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, +# {"opName": "huber_loss", "outName": "losses/huber_diff_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[1,3,4]], "varTypes":["float32","float32","float32"], "varInit":["stdnormal","stdnormal","uniform"]}, +# +# {"opName": "log_loss", "outName": "losses/log_loss_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank0", "varShapes":[[],[]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank1", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank1_eps01", "varShapes":[[5],[5]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"],"epsilon":0.1}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis0_SUM", "varShapes":[[3,4],[3,4],[1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank2_axis1_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3_axis1", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3_axis2", "varShapes":[[2,3,4],[2,3,4]], "varTypes":["float32","float32"], "varInit":["uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3_weights0", "varShapes":[[2,3,4],[2,3,4],[1,1,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3_weights1", "varShapes":[[2,3,4],[2,3,4],[1,3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3_weights2", "varShapes":[[2,3,4],[2,3,4],[1,1,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, +# {"opName": "log_loss", "outName": "losses/log_loss_rank3_weightsAll", "varShapes":[[2,3,4],[2,3,4],[1,3,4]], "varTypes":["float32","float32","float32"], "varInit":["uniform","uniform","uniform"]}, +# +# # sigmoid_cross_entropy: seems to only support [batch_size, num_classes] shapes? +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","stdnormal"]}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_smooth01", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","stdnormal"],"label_smoothing":0.1}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_smooth05", "varShapes":[[3,4],[3,4]], "varTypes":["float32","float32"], "varInit":["uniform","stdnormal"],"label_smoothing":0.5}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_NONE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_SUM", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_MEAN", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_SUM_OVER_BATCH_SIZE", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE}, +# {"opName": "sigmoid_cross_entropy", "outName": "losses/sigmoid_ce_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[3,4],[3,4],[3,1]], "varTypes":["float32","float32","float32"], "varInit":["uniform","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce", "varShapes":[[10,4],[10,4]], "varTypes":["float32","float32"], "varInit":["onehot","stdnormal"]}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_smooth01", "varShapes":[[10,4],[10,4]], "varTypes":["float32","float32"], "varInit":["onehot","stdnormal"],"label_smoothing":0.1}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_smooth05", "varShapes":[[10,4],[10,4]], "varTypes":["float32","float32"], "varInit":["onehot","stdnormal"],"label_smoothing":0.5}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_NONE", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_SUM", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_MEAN", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_SUM_OVER_BATCH_SIZE", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE}, +# {"opName": "softmax_cross_entropy", "outName": "losses/softmax_ce_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[10,4],[10,4],[10]], "varTypes":["float32","float32","float32"], "varInit":["onehot","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce", "varShapes":[[10],[10,5]], "varTypes":["int32","float32"], "varInit":["uniform_int5","stdnormal"]}, +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_NONE", "varShapes":[[10],[10,5],[10,1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.NONE}, +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM", "varShapes":[[10],[10,5],[10,1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM}, +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_MEAN", "varShapes":[[10],[10,5],[10,1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.MEAN}, +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM_OVER_BATCH_SIZE", "varShapes":[[10],[10,5],[10]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_OVER_BATCH_SIZE}, +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM_BY_NONZERO_WEIGHTS", "varShapes":[[10],[10,5],[10]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, +# {"opName": "sparse_softmax_cross_entropy", "outName": "losses/sparse_softmax_ce_SUM_BY_NONZERO_WEIGHTS_1", "varShapes":[[10],[10,5],[1]], "varTypes":["int32","float32","float32"], "varInit":["uniform_int5","stdnormal","uniform_sparse"], "reduction":tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS}, # {"opName":"l2_loss", "outName":"losses/l2_loss_rank0", "varShapes":[[]], "varTypes":["float32"], "varInit":["uniform"]}, # {"opName":"l2_loss", "outName":"losses/l2_loss_rank1", "varShapes":[[10]], "varTypes":["float32"], "varInit":["uniform"]}, @@ -374,24 +374,24 @@ def test_mathtransform(): # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_first_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5]], "varTypes":["float32","float32"], "filters":1, "kernel_size":2, "strides":1, "padding":"VALID", "data_format":"channels_first", "dilation_rate":1}, # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_first_b1_k2_s2_d1_SAME", "varShapes":[[1, 2, 5]], "varTypes":["float32","float32"], "filters":2, "kernel_size":2, "strides":2, "padding":"SAME", "data_format":"channels_first", "dilation_rate":1}, # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d2_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":2, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":2}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_VALID", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":2, "kernel_size":2, "strides":1, "padding":"VALID", "data_format":"channels_last", "dilation_rate":1}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s2_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":2, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_sigmoid", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.relu}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_sigmoid", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.sigmoid}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_elu", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.elu}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_relu6", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.relu6}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_relu6", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.selu}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_crelu", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.crelu}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_regularizers", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, - # "kernel_regularizer":tf.contrib.layers.l2_regularizer(scale=0.1), "bias_regularizer":tf.contrib.layers.l1_regularizer(scale=0.2), "activity_regularizer":tf.contrib.layers.l1_l2_regularizer(scale_l1=0.1,scale_l2=0.2)}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_constraints1", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, - # "kernel_constraint":tf.keras.constraints.MaxNorm(max_value=2), "bias_constraint":tf.keras.constraints.NonNeg()}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_constraints2", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, - # "kernel_constraint":tf.keras.constraints.MinMaxNorm(min_value=1, max_value=2)}, - # {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_constraints3", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, - # "kernel_constraint":tf.keras.constraints.UnitNorm()}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d2_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":2, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":2}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_VALID", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":2, "kernel_size":2, "strides":1, "padding":"VALID", "data_format":"channels_last", "dilation_rate":1}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s2_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":2, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_sigmoid", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.relu}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_sigmoid", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.sigmoid}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_elu", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.elu}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_relu6", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.relu6}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_relu6", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.selu}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b1_k2_s1_d1_SAME_crelu", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "activation":tf.nn.crelu}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_regularizers", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, +# "kernel_regularizer":tf.keras.regularizers.l2(l=0.1), "bias_regularizer":tf.keras.regularizers.l2(l=0.2), "activity_regularizer":tf.keras.regularizers.l1_l2(l1=0.1,l2=0.2)}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_constraints1", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, +# "kernel_constraint":tf.keras.constraints.MaxNorm(max_value=2), "bias_constraint":tf.keras.constraints.NonNeg()}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_constraints2", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, +# "kernel_constraint":tf.keras.constraints.MinMaxNorm(min_value=1, max_value=2)}, +# {"opName":"layers_cnn1d", "outName":"cnn1d_layers/channels_last_b2_k2_s1_SAME_constraints3", "varShapes":[[2, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, +# "kernel_constraint":tf.keras.constraints.UnitNorm()}, #TODO TF constraints don't appear to get saved with the model... # {"opName":"layers_sepconv1d", "outName":"sepconv1d_layers/channels_last_b1_k2_s1_d1_SAME_dm1", "varShapes":[[1, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":2, "strides":1, "padding":"SAME", "data_format":"channels_last", "dilation_rate":1, "depth_multiplier":1}, @@ -420,13 +420,13 @@ def test_mathtransform(): # {"opName":"max_pooling1d", "outName":"max_pooling1d/channels_last_b2_k2_s1_VALID", "varShapes":[[2, 5, 2]], "varTypes":["float32"], "pooling_size":2, "stride":1, "padding":"VALID", "data_format":"channels_last"}, # {"opName":"max_pooling1d", "outName":"max_pooling1d/channels_last_b1_k2_s2_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32"], "pooling_size":2, "stride":2, "padding":"SAME", "data_format":"channels_last"}, - #{"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_to_int32_nhwc", "varShapes":[[1, 2, 2, 5]], "varTypes":["int32"], "varInit":["uniform_int10"], "ksizes":[1,2,1,1],"strides":[1,1,2,1], "padding":"SAME", "data_format":"NHWC", "output_dtype":tf.int32}, - #{"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/float32_to_int64", "varShapes": [[1, 2, 2, 5]], "varTypes": ["float32"], "varInit": ["uniform"], "ksizes": [1,2,1,1], "strides": [1,1,2,1], "padding": "SAME", "data_format": "NHWC", "output_dtype": tf.int64}, - #{"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/float64_to_int64", "varShapes": [[1, 2, 2, 5]], "varTypes": ["float64"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID", "data_format": "NHWC", "output_dtype": tf.int64}, - #{"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/int32_to_int64", "varShapes": [[1, 2, 2, 5]], "varTypes": ["int32"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID","data_format": "NHWC", "output_dtype": tf.int64}, - #{"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/int64_to_int32", "varShapes": [[1, 2, 2, 5]], "varTypes": ["int64"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID", "data_format": "NHWC", "output_dtype": tf.int32}, - #{"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/bfloat16_to_int32", "varShapes": [[1, 2, 2, 5]], "varTypes": ["bfloat16"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID", "data_format": "NHWC", "output_dtype": tf.int32}, - #{"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/half_to_int32", "varShapes": [[1, 2, 2, 5]], "varTypes": ["half"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,1,2], "padding": "VALID","data_format": "NHWC", "output_dtype": tf.int32}, +# {"opName":"max_pool_with_argmax", "outName":"max_pool_with_argmax/float32_to_int32_nhwc", "varShapes":[[1, 2, 2, 5]], "varTypes":["int32"], "varInit":["uniform_int10"], "ksizes":[1,2,1,1],"strides":[1,1,2,1], "padding":"SAME", "data_format":"NHWC", "output_dtype":tf.int32}, +# {"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/float32_to_int64", "varShapes": [[1, 2, 2, 5]], "varTypes": ["float32"], "varInit": ["uniform"], "ksizes": [1,2,1,1], "strides": [1,1,2,1], "padding": "SAME", "data_format": "NHWC", "output_dtype": tf.int64}, +# {"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/float64_to_int64", "varShapes": [[1, 2, 2, 5]], "varTypes": ["float64"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID", "data_format": "NHWC", "output_dtype": tf.int64}, +# {"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/int32_to_int64", "varShapes": [[1, 2, 2, 5]], "varTypes": ["int32"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID","data_format": "NHWC", "output_dtype": tf.int64}, +# {"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/int64_to_int32", "varShapes": [[1, 2, 2, 5]], "varTypes": ["int64"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID", "data_format": "NHWC", "output_dtype": tf.int32}, +# {"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/bfloat16_to_int32", "varShapes": [[1, 2, 2, 5]], "varTypes": ["bfloat16"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,2,1], "padding": "VALID", "data_format": "NHWC", "output_dtype": tf.int32}, +# {"opName": "max_pool_with_argmax", "outName": "max_pool_with_argmax/half_to_int32", "varShapes": [[1, 2, 2, 5]], "varTypes": ["half"], "varInit": ["uniform"], "ksizes": [1, 2,1,1], "strides": [1, 1,1,2], "padding": "VALID","data_format": "NHWC", "output_dtype": tf.int32}, #Default AvgPoolingOp only supports NHWC on device type CPU # {"opName":"avg_pooling1d", "outName":"avg_pooling1d/channels_first_b1_k2_s1_SAME", "varShapes":[[1, 2, 5]], "varTypes":["float32"], "pooling_size":2, "stride":1, "padding":"SAME", "data_format":"channels_first"}, @@ -439,31 +439,34 @@ def test_mathtransform(): # {"opName":"avg_pooling1d", "outName":"avg_pooling1d/channels_last_b2_k2_s1_VALID", "varShapes":[[2, 5, 2]], "varTypes":["float32"], "pooling_size":2, "stride":1, "padding":"VALID", "data_format":"channels_last"}, # {"opName":"avg_pooling1d", "outName":"avg_pooling1d/channels_last_b1_k2_s2_SAME", "varShapes":[[1, 5, 2]], "varTypes":["float32"], "pooling_size":2, "stride":2, "padding":"SAME", "data_format":"channels_last"}, - # {"opName":"dense", "outName":"dense/dense5", "varShapes":[[5,4]], "varTypes":["float32"], "units":5, "activation":None, "use_bias":True, "kernel_regularizer":None, "bias_regularizer":None}, - # {"opName":"dense", "outName":"dense/dense5_sigmoid_nobias", "varShapes":[[5,4]], "varTypes":["float32"], "units":5, "activation":tf.nn.sigmoid, "use_bias":False, "kernel_regularizer":None, "bias_regularizer":None}, - # {"opName":"dense", "outName":"dense/dense5_tanh_regularizer", "varShapes":[[5,4]], "varTypes":["float32"], "units":5, "activation":tf.nn.tanh, "use_bias":True, "kernel_regularizer":tf.contrib.layers.l2_regularizer(scale=0.1), "bias_regularizer":None}, - # {"opName":"flatten", "outName":"flatten/rank2", "varShapes":[[3,4]], "varTypes":["float32"]}, - # {"opName":"flatten", "outName":"flatten/rank3", "varShapes":[[2,3,4]], "varTypes":["float32"]}, - # {"opName":"flatten", "outName":"flatten/rank4", "varShapes":[[2,3,2,4]], "varTypes":["float32"]}, - # {"opName":"flatten", "outName":"flatten/rank5", "varShapes":[[2,3,2,4,2]], "varTypes":["float32"]}, +# {"opName":"dense", "outName":"dense/dense5", "varShapes":[[5,4]], "varTypes":["float32"], "units":5, "activation":None, "use_bias":True, "kernel_regularizer":None, "bias_regularizer":None}, +# {"opName":"dense", "outName":"dense/dense5_sigmoid_nobias", "varShapes":[[5,4]], "varTypes":["float32"], "units":5, "activation":tf.nn.sigmoid, "use_bias":False, "kernel_regularizer":None, "bias_regularizer":None}, +# {"opName":"dense", "outName":"dense/dense5_tanh_regularizer", "varShapes":[[5,4]], "varTypes":["float32"], "units":5, "activation":tf.nn.tanh, "use_bias":True, "kernel_regularizer":tf.keras.regularizers.l2(l=0.1), "bias_regularizer":None}, +# {"opName":"flatten", "outName":"flatten/rank2", "varShapes":[[3,4]], "varTypes":["float32"]}, +# {"opName":"flatten", "outName":"flatten/rank3", "varShapes":[[2,3,4]], "varTypes":["float32"]}, +# {"opName":"flatten", "outName":"flatten/rank4", "varShapes":[[2,3,2,4]], "varTypes":["float32"]}, +# {"opName":"flatten", "outName":"flatten/rank5", "varShapes":[[2,3,2,4,2]], "varTypes":["float32"]}, # NHWC format: kernel format is [kH,kW,cIn,cOut] #Also, strides and dilation are 4d for some reason, strides should be [1, sH, sW, 1] - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k2_s1_d1_VALID", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b1_k2_s2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,2,2,1], "padding":"SAME", "data_format":"NHWC"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b1_k2_s1_d1_SAME", "varShapes":[[1, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, - - # {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_35_35_32_b1_k3_s1_SAME", "varShapes":[[1, 35, 35, 3], [3, 3, 3, 192]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k3_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k2_s1_d1_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, + {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k2_s1_d2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC", "dilation":[1,2,2,1]}, + {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b2_k2_s1_d1_VALID", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NHWC"}, + {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_b1_k2_s2_SAME", "varShapes":[[2, 5, 5, 2], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,2,2,1], "padding":"SAME", "data_format":"NHWC"}, + +# The Conv2D op currently (tf 2.2.0 14/06/2020) only supports the NHWC tensor format on the CPU. + +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b1_k2_s1_d1_SAME", "varShapes":[[1, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k3_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [3, 3, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d1_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW"}, +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NCHW", "dilation":[1,1,2,2]}, +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b2_k2_s1_d1_VALID", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"VALID", "data_format":"NCHW"}, +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nchw_b1_k2_s2_SAME", "varShapes":[[2, 2, 5, 5], [2, 2, 2, 3]], "varTypes":["float32","float32"], "strides":[1,1,1,2], "padding":"SAME", "data_format":"NCHW"}, + +# {"opName":"nn_conv2d", "outName":"cnn2d_nn/nhwc_35_35_32_b1_k3_s1_SAME", "varShapes":[[1, 35, 35, 3], [3, 3, 3, 192]], "varTypes":["float32","float32"], "strides":[1,1,1,1], "padding":"SAME", "data_format":"NHWC"}, #Again, no channels_first on CPU # {"opName":"layers_conv2d", "outName":"cnn2d_layers/channels_last_b1_k2_s1_d1_SAME", "varShapes":[[1, 5, 5, 2]], "varTypes":["float32","float32"], "filters":3, "kernel_size":[2,2], "strides":[1,1], "padding":"SAME", "data_format":"channels_last", "dilation_rate":[1,1]}, @@ -2414,36 +2417,36 @@ def test_mathtransform(): # {"opName": "random_crop", "outName": "random_crop/rank3_float32", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float32", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, # {"opName": "random_crop", "outName": "random_crop/rank3_float64", "varShapes": [[8, 8, 3], [3]], "varTypes": ["float64", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, # {"opName": "random_crop", "outName": "random_crop/rank3_half", "varShapes": [[8, 8, 3], [3]], "varTypes": ["half", "int32"], "varInit": ["stdnormal", "uniform_int2"]}, -# -# +# +# # {"opName": "random_gamma", "outName": "random_gamma/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1, "alpha":[0.5, 1.5], "dtype":tf.float32}, # {"opName": "random_gamma", "outName": "random_gamma/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":12, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.float64}, - {"opName": "random_gamma", "outName": "random_gamma/rank3_half", "varShapes": [[6]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":123, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.half}, -# -# +# {"opName": "random_gamma", "outName": "random_gamma/rank3_half", "varShapes": [[6]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":123, "alpha":[1.5, 2.5], "beta":[0.5, 1.5], "dtype":tf.half}, +# +# # {"opName": "random_poisson", "outName": "random_poisson/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 2.5],"dtype":tf.float16}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_float32", "varShapes": [[4], [2]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 1.5],"dtype":tf.float32}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_float64", "varShapes": [[3], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.8, 1.5],"dtype":tf.float64}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 3],"dtype":tf.half}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "lam":[0.5, 3],"dtype":tf.half}, # {"opName": "random_poisson", "outName": "random_poisson/rank1_half", "varShapes": [[4], [1]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "seed":123, "lam":[0.5, 1.5],"dtype":tf.half}, -# +# # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float16", "varShapes": [[4], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"] ,"dtype":tf.float16}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float32", "varShapes": [[4], [2]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "dtype":tf.float32}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_float64", "varShapes": [[3], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"],"dtype":tf.float64}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_half", "varShapes": [[2], [4]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"],"seed":12 ,"dtype":tf.half}, # {"opName": "random_poisson_v2", "outName": "random_poisson_v2/rank1_half", "varShapes": [[4], [1]], "varTypes": ["int32", "float32"], "varInit": ["uniform_int10", "uniform"], "seed":123, "seed":42,"dtype":tf.half}, -# +# # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float32", "varShapes": [[4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":42}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank2_float32", "varShapes": [[4,4]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":1345}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank3_float32", "varShapes": [[1,2,3]], "varTypes": ["float32"], "varInit": ["uniform"], "seed":1235}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_float64", "varShapes": [[4]], "varTypes": ["float64"], "varInit": ["uniform"]}, # {"opName": "random_shuffle", "outName": "random_shuffle/rank1_int32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "seed":1245}, -# +# # {"opName": "random_normal", "outName": "random_normal/rank4_float32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float32}, # {"opName": "random_normal", "outName": "random_normal/rank3_float64", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.float64}, # {"opName": "random_normal", "outName": "random_normal/rank2_half", "varShapes": [[2]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "mean": 0., "stddev":1.0, "seed":12345, "dtype":tf.half}, -# +# # {"opName": "random_uniform_int", "outName": "random_uniform_int/rank1_int32", "varShapes": [[4]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345, }, # {"opName": "random_uniform_int", "outName": "random_uniform_int/rank3_int64", "varShapes": [[3]], "varTypes": ["int64"], "varInit": ["uniform_int10"], "maxval": 10, "minval":1, "seed":12345}, # {"opName": "random_uniform", "outName": "random_uniform/rank3_float32", "varShapes": [[3]], "varTypes": ["int32"], "varInit": ["uniform_int10"], "dtype":tf.float32, "seed":12345}, diff --git a/import-tests/tfoptests/ops.py b/import-tests/tfoptests/ops.py index c0ea564..474b222 100644 --- a/import-tests/tfoptests/ops.py +++ b/import-tests/tfoptests/ops.py @@ -1,6 +1,7 @@ import tensorflow as tf import numpy as np +isApiV2 = tf.version.VERSION.startswith("2.") class OpCreator: def __init__(self, op): @@ -66,7 +67,7 @@ def execute_segment_sum(self): return [tf.math.segment_sum(data=self.vars[0], segment_ids=self.vars[1])] def execute_space_to_batch(self): - return [tf.space_to_batch(input=self.vars[0], paddings=self.vars[1], block_shape=2)] + return [tf.space_to_batch(input=self.vars[0], paddings=self.vars[1], block_shape=[2,2])] def execute_space_to_depth(self): return [tf.compat.v1.space_to_depth(input=self.vars[0], block_size=2, data_format=self.op["data_format"])] @@ -95,6 +96,12 @@ def execute_matrix_inverse(self): return [tf.linalg.inv(input=self.vars[0])] def execute_pad(self): + if isApiV2: + if(len(self.vars) > 2): + return [tf.raw_ops.PadV2( input = self.vars[0] , paddings = self.vars[1], constant_values = self.vars[2])] + else: + return [tf.raw_ops.Pad( input = self.vars[0] , paddings = self.vars[1])] + if(len(self.vars) > 2): return [tf.pad(tensor=self.vars[0], paddings=self.vars[1], constant_values=self.vars[2], mode = self.op["mode"])] else: @@ -223,7 +230,7 @@ def execute_cosine_distance(self): weights = self.vars[2] r = self.op.get("reduction", tf.compat.v1.losses.Reduction.SUM_BY_NONZERO_WEIGHTS) - return [tf.compat.v1.losses.cosine_distance(labels=self.vars[0], predictions=self.vars[1], weights=weights, axis=self.op["axis"], reduction=r)] + return [tf.compat.v1.losses.cosine_distance(labels=self.vars[0], predictions=self.vars[1], weights=weights, axis=self.op.get("axis", 0), reduction=r)] def execute_hinge_loss(self): weights = 1.0 @@ -302,12 +309,22 @@ def execute_avg_pooling1d(self): return [tf.compat.v1.layers.average_pooling1d(inputs=self.vars[0], pool_size=self.op["pooling_size"], strides=self.op["stride"], padding=self.op["padding"], data_format=self.op["data_format"])] def execute_max_pool_with_argmax(self): + if isApiV2: + return tf.raw_ops.MaxPoolWithArgmax(input = self.vars[0], + ksize = self.op["ksizes"], + strides = self.op["strides"], + padding = self.op["padding"], + Targmax= tf.int64, + include_batch_in_index= self.op.get("include_batch_in_index", False) + ) + return tf.raw_ops.MaxPoolWithArgmax(input = self.vars[0], ksize = self.op["ksizes"], strides = self.op["strides"], padding = self.op["padding"], Targmax= self.op["output_dtype"], - include_batch_in_index= self.op["include_batch_in_index"]) + include_batch_in_index= self.op.get("include_batch_in_index", False) + ) def execute_dense(self): kr = self.op.get("kernel_regularizer",None) diff --git a/import-tests/tfoptests/persistor.py b/import-tests/tfoptests/persistor.py index 8321d7d..8b87721 100644 --- a/import-tests/tfoptests/persistor.py +++ b/import-tests/tfoptests/persistor.py @@ -20,7 +20,11 @@ BASE_DIR = os.environ['DL4J_TEST_RESOURCES'] + '/src/main/resources/tf_graphs/examples' + tf.version.VERSION else: BASE_DIR = os.environ['DL4J_TEST_RESOURCES'] + '/src/main/resources/tf_graphs/examples' -SRC_DIR = os.environ['DL4J_TEST_RESOURCES'] + '/src/main/resources/tf_graphs/examples' + +if isApiV2: + SRC_DIR = os.environ['DL4J_TEST_RESOURCES'] + '/src/main/resources/tf_graphs/examples' + tf.version.VERSION +else: + SRC_DIR = os.environ['DL4J_TEST_RESOURCES'] + '/src/main/resources/tf_graphs/examples' class TensorFlowPersistor: '''