"docs/source/experiment/web_portal/tensorboard.rst" did not exist on "1418a366bc537ce9166b3e18cdbedd84ad406f8c"
Commit a8989ece authored by Shucai Xiao's avatar Shucai Xiao
Browse files

clang format

parent d7a28300
...@@ -11,7 +11,8 @@ def onnx_test(op_test): ...@@ -11,7 +11,8 @@ def onnx_test(op_test):
def run_test(): def run_test():
op_info = op_test() op_info = op_test()
if len(op_info) > 3: if len(op_info) > 3:
graph_def = helper.make_graph(op_info[0], graph_def = helper.make_graph(
op_info[0],
op_test.__name__, op_test.__name__,
op_info[1], op_info[1],
op_info[2], op_info[2],
...@@ -19,8 +20,8 @@ def onnx_test(op_test): ...@@ -19,8 +20,8 @@ def onnx_test(op_test):
else: else:
graph_def = helper.make_graph(op_info[0], op_test.__name__, graph_def = helper.make_graph(op_info[0], op_test.__name__,
op_info[1], op_info[2]) op_info[1], op_info[2])
model_def = helper.make_model(graph_def, model_def = helper.make_model(
producer_name=op_test.__name__) graph_def, producer_name=op_test.__name__)
onnx.save(model_def, '{}.onnx'.format(op_test.__name__)) onnx.save(model_def, '{}.onnx'.format(op_test.__name__))
return run_test return run_test
...@@ -60,11 +61,8 @@ def add_bcast_test(): ...@@ -60,11 +61,8 @@ def add_bcast_test():
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3, 4]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3, 4])
z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [2, 3, 4, 5]) z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [2, 3, 4, 5])
node = onnx.helper.make_node('Add', node = onnx.helper.make_node(
inputs=['0', '1'], 'Add', inputs=['0', '1'], broadcast=1, axis=1, outputs=['2'])
broadcast=1,
axis=1,
outputs=['2'])
return ([node], [x, y], [z]) return ([node], [x, y], [z])
...@@ -108,11 +106,8 @@ def argmax_test(): ...@@ -108,11 +106,8 @@ def argmax_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6])
node = onnx.helper.make_node('ArgMax', node = onnx.helper.make_node(
inputs=['x'], 'ArgMax', inputs=['x'], outputs=['y'], axis=2, keepdims=0)
outputs=['y'],
axis=2,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -122,11 +117,8 @@ def argmin_test(): ...@@ -122,11 +117,8 @@ def argmin_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 5])
node = onnx.helper.make_node('ArgMin', node = onnx.helper.make_node(
inputs=['x'], 'ArgMin', inputs=['x'], outputs=['y'], axis=3, keepdims=0)
outputs=['y'],
axis=3,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -192,10 +184,8 @@ def averagepool_1d_test(): ...@@ -192,10 +184,8 @@ def averagepool_1d_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [1, 3, 5]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [1, 3, 5])
out = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 3]) out = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 3])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
inputs=['0'], 'AveragePool', inputs=['0'], outputs=['1'], kernel_shape=[3])
outputs=['1'],
kernel_shape=[3])
return ([node], [x], [out]) return ([node], [x], [out])
...@@ -206,10 +196,8 @@ def averagepool_3d_test(): ...@@ -206,10 +196,8 @@ def averagepool_3d_test():
out = helper.make_tensor_value_info('1', TensorProto.FLOAT, out = helper.make_tensor_value_info('1', TensorProto.FLOAT,
[1, 3, 3, 3, 3]) [1, 3, 3, 3, 3])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
inputs=['0'], 'AveragePool', inputs=['0'], outputs=['1'], kernel_shape=[3, 3, 3])
outputs=['1'],
kernel_shape=[3, 3, 3])
return ([node], [x], [out]) return ([node], [x], [out])
...@@ -219,7 +207,8 @@ def averagepool_notset_test(): ...@@ -219,7 +207,8 @@ def averagepool_notset_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 1, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 1, 1])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
'AveragePool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[6, 6], kernel_shape=[6, 6],
...@@ -235,7 +224,8 @@ def averagepool_nt_cip_test(): ...@@ -235,7 +224,8 @@ def averagepool_nt_cip_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 1, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 1, 1])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
'AveragePool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[6, 6], kernel_shape=[6, 6],
...@@ -252,7 +242,8 @@ def averagepool_same_lower_test(): ...@@ -252,7 +242,8 @@ def averagepool_same_lower_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
'AveragePool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[2, 2], kernel_shape=[2, 2],
...@@ -266,7 +257,8 @@ def averagepool_sl_cip_test(): ...@@ -266,7 +257,8 @@ def averagepool_sl_cip_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
'AveragePool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[2, 2], kernel_shape=[2, 2],
...@@ -281,7 +273,8 @@ def averagepool_same_upper_test(): ...@@ -281,7 +273,8 @@ def averagepool_same_upper_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5])
node = onnx.helper.make_node('AveragePool', node = onnx.helper.make_node(
'AveragePool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[2, 2], kernel_shape=[2, 2],
...@@ -299,7 +292,8 @@ def batchnorm_1d_test(): ...@@ -299,7 +292,8 @@ def batchnorm_1d_test():
var = helper.make_tensor_value_info('4', TensorProto.FLOAT, [3]) var = helper.make_tensor_value_info('4', TensorProto.FLOAT, [3])
out = helper.make_tensor_value_info('5', TensorProto.FLOAT, [1, 3, 5]) out = helper.make_tensor_value_info('5', TensorProto.FLOAT, [1, 3, 5])
node = onnx.helper.make_node('BatchNormalization', node = onnx.helper.make_node(
'BatchNormalization',
inputs=['0', '1', '2', '3', '4'], inputs=['0', '1', '2', '3', '4'],
outputs=['5'], outputs=['5'],
epsilon=1e-6, epsilon=1e-6,
...@@ -318,7 +312,8 @@ def batchnorm_3d_test(): ...@@ -318,7 +312,8 @@ def batchnorm_3d_test():
out = helper.make_tensor_value_info('5', TensorProto.FLOAT, out = helper.make_tensor_value_info('5', TensorProto.FLOAT,
[1, 3, 5, 5, 5]) [1, 3, 5, 5, 5])
node = onnx.helper.make_node('BatchNormalization', node = onnx.helper.make_node(
'BatchNormalization',
inputs=['0', '1', '2', '3', '4'], inputs=['0', '1', '2', '3', '4'],
outputs=['5'], outputs=['5'],
epsilon=1e-6, epsilon=1e-6,
...@@ -356,10 +351,8 @@ def celu_alpha_test(): ...@@ -356,10 +351,8 @@ def celu_alpha_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3])
node = onnx.helper.make_node('Celu', node = onnx.helper.make_node(
inputs=['x'], 'Celu', inputs=['x'], outputs=['y'], alpha=0.8)
outputs=['y'],
alpha=0.8)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -379,10 +372,8 @@ def celu_verify_test(): ...@@ -379,10 +372,8 @@ def celu_verify_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3])
node = onnx.helper.make_node('Celu', node = onnx.helper.make_node(
inputs=['x'], 'Celu', inputs=['x'], outputs=['y'], alpha=0.5)
outputs=['y'],
alpha=0.5)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -402,10 +393,8 @@ def celu_zero_alpha_test(): ...@@ -402,10 +393,8 @@ def celu_zero_alpha_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3])
node = onnx.helper.make_node('Celu', node = onnx.helper.make_node(
inputs=['x'], 'Celu', inputs=['x'], outputs=['y'], alpha=0.0)
outputs=['y'],
alpha=0.0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -415,11 +404,8 @@ def clip_test(): ...@@ -415,11 +404,8 @@ def clip_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3])
node = onnx.helper.make_node('Clip', node = onnx.helper.make_node(
inputs=['0'], 'Clip', inputs=['0'], outputs=['1'], max=6.0, min=0.0)
outputs=['1'],
max=6.0,
min=0.0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -432,9 +418,8 @@ def clip_test_op11(): ...@@ -432,9 +418,8 @@ def clip_test_op11():
min_val = helper.make_tensor('min', TensorProto.FLOAT, [], [0.0]) min_val = helper.make_tensor('min', TensorProto.FLOAT, [], [0.0])
max_val = helper.make_tensor('max', TensorProto.FLOAT, [], [6.0]) max_val = helper.make_tensor('max', TensorProto.FLOAT, [], [6.0])
node = onnx.helper.make_node('Clip', node = onnx.helper.make_node(
inputs=['0', 'min', 'max'], 'Clip', inputs=['0', 'min', 'max'], outputs=['1'])
outputs=['1'])
return ([node], [x], [y], [min_val, max_val]) return ([node], [x], [y], [min_val, max_val])
...@@ -446,9 +431,8 @@ def clip_test_op11_max_only(): ...@@ -446,9 +431,8 @@ def clip_test_op11_max_only():
max_val = helper.make_tensor('max', TensorProto.FLOAT, [], [0.0]) max_val = helper.make_tensor('max', TensorProto.FLOAT, [], [0.0])
node = onnx.helper.make_node('Clip', node = onnx.helper.make_node(
inputs=['0', '', 'max'], 'Clip', inputs=['0', '', 'max'], outputs=['1'])
outputs=['1'])
return ([node], [x], [y], [max_val]) return ([node], [x], [y], [max_val])
...@@ -494,9 +478,8 @@ def clip_test_args_type_mismatch(): ...@@ -494,9 +478,8 @@ def clip_test_args_type_mismatch():
[1.5, 2.5, 3.5]) [1.5, 2.5, 3.5])
max_val = helper.make_tensor('max', TensorProto.INT64, [3, 1], [2, 3, 4]) max_val = helper.make_tensor('max', TensorProto.INT64, [3, 1], [2, 3, 4])
node = onnx.helper.make_node('Clip', node = onnx.helper.make_node(
inputs=['0', 'min', 'max'], 'Clip', inputs=['0', 'min', 'max'], outputs=['1'])
outputs=['1'])
return ([node], [x], [y], [min_val, max_val]) return ([node], [x], [y], [min_val, max_val])
...@@ -559,7 +542,8 @@ def constant_fill_input_as_shape_test(): ...@@ -559,7 +542,8 @@ def constant_fill_input_as_shape_test():
np_shape = np.array([2, 3]) np_shape = np.array([2, 3])
value = helper.make_tensor_value_info('value', TensorProto.FLOAT, [2, 3]) value = helper.make_tensor_value_info('value', TensorProto.FLOAT, [2, 3])
ts_shape = helper.make_tensor(name='shape_tensor', ts_shape = helper.make_tensor(
name='shape_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=np_shape.shape, dims=np_shape.shape,
vals=np_shape.flatten().astype(int)) vals=np_shape.flatten().astype(int))
...@@ -608,7 +592,8 @@ def const_of_shape_empty_input_test(): ...@@ -608,7 +592,8 @@ def const_of_shape_empty_input_test():
tensor_val = onnx.helper.make_tensor('value', onnx.TensorProto.INT64, [1], tensor_val = onnx.helper.make_tensor('value', onnx.TensorProto.INT64, [1],
[10]) [10])
empty_val = np.array([]).astype(np.int64) empty_val = np.array([]).astype(np.int64)
empty_ts = helper.make_tensor(name='empty_tensor', empty_ts = helper.make_tensor(
name='empty_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=empty_val.shape, dims=empty_val.shape,
vals=empty_val.flatten().astype(int)) vals=empty_val.flatten().astype(int))
...@@ -636,7 +621,8 @@ def const_of_shape_float_test(): ...@@ -636,7 +621,8 @@ def const_of_shape_float_test():
[10]) [10])
shape_val = np.array([2, 3, 4]).astype(np.int64) shape_val = np.array([2, 3, 4]).astype(np.int64)
shape_ts = helper.make_tensor(name='shape_tensor', shape_ts = helper.make_tensor(
name='shape_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=shape_val.shape, dims=shape_val.shape,
vals=shape_val.flatten().astype(int)) vals=shape_val.flatten().astype(int))
...@@ -649,10 +635,8 @@ def const_of_shape_float_test(): ...@@ -649,10 +635,8 @@ def const_of_shape_float_test():
) )
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3, 4]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3, 4])
node = onnx.helper.make_node('ConstantOfShape', node = onnx.helper.make_node(
inputs=['shape'], 'ConstantOfShape', inputs=['shape'], outputs=['y'], value=tensor_val)
outputs=['y'],
value=tensor_val)
return ([shape_const, node], [], [y]) return ([shape_const, node], [], [y])
...@@ -662,7 +646,8 @@ def const_of_shape_int64_test(): ...@@ -662,7 +646,8 @@ def const_of_shape_int64_test():
tensor_val = onnx.helper.make_tensor('value', onnx.TensorProto.INT64, [1], tensor_val = onnx.helper.make_tensor('value', onnx.TensorProto.INT64, [1],
[10]) [10])
shape_val = np.array([2, 3, 4]).astype(np.int64) shape_val = np.array([2, 3, 4]).astype(np.int64)
shape_ts = helper.make_tensor(name='shape_tensor', shape_ts = helper.make_tensor(
name='shape_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=shape_val.shape, dims=shape_val.shape,
vals=shape_val.flatten().astype(int)) vals=shape_val.flatten().astype(int))
...@@ -674,10 +659,8 @@ def const_of_shape_int64_test(): ...@@ -674,10 +659,8 @@ def const_of_shape_int64_test():
) )
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3, 4]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3, 4])
node = onnx.helper.make_node('ConstantOfShape', node = onnx.helper.make_node(
inputs=['shape'], 'ConstantOfShape', inputs=['shape'], outputs=['y'], value=tensor_val)
outputs=['y'],
value=tensor_val)
return ([shape_const, node], [], [y]) return ([shape_const, node], [], [y])
...@@ -685,7 +668,8 @@ def const_of_shape_int64_test(): ...@@ -685,7 +668,8 @@ def const_of_shape_int64_test():
@onnx_test @onnx_test
def const_of_shape_no_value_attr_test(): def const_of_shape_no_value_attr_test():
shape_val = np.array([2, 3, 4]).astype(np.int64) shape_val = np.array([2, 3, 4]).astype(np.int64)
shape_ts = helper.make_tensor(name='shape_tensor', shape_ts = helper.make_tensor(
name='shape_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=shape_val.shape, dims=shape_val.shape,
vals=shape_val.flatten().astype(int)) vals=shape_val.flatten().astype(int))
...@@ -735,10 +719,8 @@ def conv_attr_fail_test(): ...@@ -735,10 +719,8 @@ def conv_attr_fail_test():
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 3])
out = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1, 1, 3]) out = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1, 1, 3])
node = onnx.helper.make_node('Conv', node = onnx.helper.make_node(
inputs=['0', '1'], 'Conv', inputs=['0', '1'], strides=[1, 1], outputs=['2'])
strides=[1, 1],
outputs=['2'])
return ([node], [x, y], [out]) return ([node], [x, y], [out])
...@@ -749,7 +731,8 @@ def conv_autopad_fail_test(): ...@@ -749,7 +731,8 @@ def conv_autopad_fail_test():
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 1, 1]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 1, 1])
out = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1, 1, 34, 34]) out = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1, 1, 34, 34])
node = onnx.helper.make_node('Conv', node = onnx.helper.make_node(
'Conv',
inputs=['0', '1'], inputs=['0', '1'],
outputs=['2'], outputs=['2'],
dilations=[1, 1], dilations=[1, 1],
...@@ -766,7 +749,8 @@ def conv_autopad_same_test(): ...@@ -766,7 +749,8 @@ def conv_autopad_same_test():
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 3, 3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 3, 3])
out = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1, 1, 32, 32]) out = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1, 1, 32, 32])
node = onnx.helper.make_node('Conv', node = onnx.helper.make_node(
'Conv',
inputs=['0', '1'], inputs=['0', '1'],
outputs=['2'], outputs=['2'],
dilations=[1, 1], dilations=[1, 1],
...@@ -783,7 +767,8 @@ def conv_bias_test(): ...@@ -783,7 +767,8 @@ def conv_bias_test():
z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1]) z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1])
out = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 2, 28, 28]) out = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 2, 28, 28])
node = onnx.helper.make_node('Conv', node = onnx.helper.make_node(
'Conv',
inputs=['0', '1', '2'], inputs=['0', '1', '2'],
outputs=['3'], outputs=['3'],
dilations=[1, 1], dilations=[1, 1],
...@@ -804,21 +789,24 @@ def conv_bn_relu_maxpool_test(): ...@@ -804,21 +789,24 @@ def conv_bn_relu_maxpool_test():
out = helper.make_tensor_value_info('10', TensorProto.FLOAT, out = helper.make_tensor_value_info('10', TensorProto.FLOAT,
[1, 1, 14, 14]) [1, 1, 14, 14])
node0 = onnx.helper.make_node('Conv', node0 = onnx.helper.make_node(
'Conv',
inputs=['0', '1', '2'], inputs=['0', '1', '2'],
outputs=['7'], outputs=['7'],
dilations=[1, 1], dilations=[1, 1],
strides=[1, 1], strides=[1, 1],
pads=[0, 0, 0, 0]) pads=[0, 0, 0, 0])
node1 = onnx.helper.make_node('BatchNormalization', node1 = onnx.helper.make_node(
'BatchNormalization',
inputs=['7', '3', '4', '5', '6'], inputs=['7', '3', '4', '5', '6'],
outputs=['8'], outputs=['8'],
epsilon=9.99999974737875e-06, epsilon=9.99999974737875e-06,
momentum=0.899999976158142) momentum=0.899999976158142)
node2 = onnx.helper.make_node('Relu', inputs=['8'], outputs=['9']) node2 = onnx.helper.make_node('Relu', inputs=['8'], outputs=['9'])
node3 = onnx.helper.make_node('MaxPool', node3 = onnx.helper.make_node(
'MaxPool',
inputs=['9'], inputs=['9'],
outputs=['10'], outputs=['10'],
pads=[0, 0, 0, 0], pads=[0, 0, 0, 0],
...@@ -835,7 +823,8 @@ def conv_relu_maxpool_test(): ...@@ -835,7 +823,8 @@ def conv_relu_maxpool_test():
z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1]) z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [1])
out = helper.make_tensor_value_info('5', TensorProto.FLOAT, [1, 1, 14, 14]) out = helper.make_tensor_value_info('5', TensorProto.FLOAT, [1, 1, 14, 14])
node1 = onnx.helper.make_node('Conv', node1 = onnx.helper.make_node(
'Conv',
inputs=['0', '1', '2'], inputs=['0', '1', '2'],
outputs=['3'], outputs=['3'],
dilations=[1, 1], dilations=[1, 1],
...@@ -844,7 +833,8 @@ def conv_relu_maxpool_test(): ...@@ -844,7 +833,8 @@ def conv_relu_maxpool_test():
node2 = onnx.helper.make_node('Relu', inputs=['3'], outputs=['4']) node2 = onnx.helper.make_node('Relu', inputs=['3'], outputs=['4'])
node3 = onnx.helper.make_node('MaxPool', node3 = onnx.helper.make_node(
'MaxPool',
inputs=['4'], inputs=['4'],
outputs=['5'], outputs=['5'],
pads=[0, 0, 0, 0], pads=[0, 0, 0, 0],
...@@ -863,7 +853,8 @@ def conv_relu_maxpool_x2_test(): ...@@ -863,7 +853,8 @@ def conv_relu_maxpool_x2_test():
n = helper.make_tensor_value_info('4', TensorProto.FLOAT, [1]) n = helper.make_tensor_value_info('4', TensorProto.FLOAT, [1])
out = helper.make_tensor_value_info('10', TensorProto.FLOAT, [1, 1, 5, 5]) out = helper.make_tensor_value_info('10', TensorProto.FLOAT, [1, 1, 5, 5])
node1 = onnx.helper.make_node('Conv', node1 = onnx.helper.make_node(
'Conv',
inputs=['0', '1', '2'], inputs=['0', '1', '2'],
outputs=['5'], outputs=['5'],
dilations=[1, 1], dilations=[1, 1],
...@@ -872,14 +863,16 @@ def conv_relu_maxpool_x2_test(): ...@@ -872,14 +863,16 @@ def conv_relu_maxpool_x2_test():
node2 = onnx.helper.make_node('Relu', inputs=['5'], outputs=['6']) node2 = onnx.helper.make_node('Relu', inputs=['5'], outputs=['6'])
node3 = onnx.helper.make_node('MaxPool', node3 = onnx.helper.make_node(
'MaxPool',
inputs=['6'], inputs=['6'],
outputs=['7'], outputs=['7'],
pads=[0, 0, 0, 0], pads=[0, 0, 0, 0],
strides=[2, 2], strides=[2, 2],
kernel_shape=[2, 2]) kernel_shape=[2, 2])
node4 = onnx.helper.make_node('Conv', node4 = onnx.helper.make_node(
'Conv',
inputs=['7', '3', '4'], inputs=['7', '3', '4'],
outputs=['8'], outputs=['8'],
dilations=[1, 1], dilations=[1, 1],
...@@ -888,7 +881,8 @@ def conv_relu_maxpool_x2_test(): ...@@ -888,7 +881,8 @@ def conv_relu_maxpool_x2_test():
node5 = onnx.helper.make_node('Relu', inputs=['8'], outputs=['9']) node5 = onnx.helper.make_node('Relu', inputs=['8'], outputs=['9'])
node6 = onnx.helper.make_node('MaxPool', node6 = onnx.helper.make_node(
'MaxPool',
inputs=['9'], inputs=['9'],
outputs=['10'], outputs=['10'],
pads=[0, 0, 0, 0], pads=[0, 0, 0, 0],
...@@ -905,7 +899,8 @@ def convinteger_bias_test(): ...@@ -905,7 +899,8 @@ def convinteger_bias_test():
z = helper.make_tensor_value_info('2', TensorProto.INT32, [1]) z = helper.make_tensor_value_info('2', TensorProto.INT32, [1])
out = helper.make_tensor_value_info('3', TensorProto.INT32, [1, 2, 28, 28]) out = helper.make_tensor_value_info('3', TensorProto.INT32, [1, 2, 28, 28])
node = onnx.helper.make_node('ConvInteger', node = onnx.helper.make_node(
'ConvInteger',
inputs=['0', '1', '2'], inputs=['0', '1', '2'],
outputs=['3'], outputs=['3'],
dilations=[1, 1], dilations=[1, 1],
...@@ -948,10 +943,8 @@ def deconv_test(): ...@@ -948,10 +943,8 @@ def deconv_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 1, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 1, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
name='conv1', 'ConvTranspose', name='conv1', inputs=['x', 'w'], outputs=['y'])
inputs=['x', 'w'],
outputs=['y'])
return ([node], [x, w], [y]) return ([node], [x, w], [y])
...@@ -963,10 +956,8 @@ def deconv_bias_test(): ...@@ -963,10 +956,8 @@ def deconv_bias_test():
b = helper.make_tensor_value_info('b', TensorProto.FLOAT, [1]) b = helper.make_tensor_value_info('b', TensorProto.FLOAT, [1])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
name='conv1', 'ConvTranspose', name='conv1', inputs=['x', 'w', 'b'], outputs=['y'])
inputs=['x', 'w', 'b'],
outputs=['y'])
return ([node], [x, w, b], [y]) return ([node], [x, w, b], [y])
...@@ -977,7 +968,8 @@ def deconv_input_pads_strides_test(): ...@@ -977,7 +968,8 @@ def deconv_input_pads_strides_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 7, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 7, 5])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[3, 2], strides=[3, 2],
...@@ -992,7 +984,8 @@ def deconv_input_pads_asymm_test(): ...@@ -992,7 +984,8 @@ def deconv_input_pads_asymm_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 8, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 8, 6])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[3, 2], strides=[3, 2],
...@@ -1007,7 +1000,8 @@ def deconv_input_pads_asymm_1d_test(): ...@@ -1007,7 +1000,8 @@ def deconv_input_pads_asymm_1d_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 6])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[2], strides=[2],
...@@ -1023,7 +1017,8 @@ def deconv_output_padding_test(): ...@@ -1023,7 +1017,8 @@ def deconv_output_padding_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[3, 2], strides=[3, 2],
...@@ -1038,7 +1033,8 @@ def deconv_output_padding_3d_test(): ...@@ -1038,7 +1033,8 @@ def deconv_output_padding_3d_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8, 8]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8, 8])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[3, 2, 2], strides=[3, 2, 2],
...@@ -1053,7 +1049,8 @@ def deconv_output_shape_test(): ...@@ -1053,7 +1049,8 @@ def deconv_output_shape_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[3, 2], strides=[3, 2],
...@@ -1068,7 +1065,8 @@ def deconv_output_shape_3d_test(): ...@@ -1068,7 +1065,8 @@ def deconv_output_shape_3d_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8, 8]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 10, 8, 8])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
'ConvTranspose',
inputs=['x', 'w'], inputs=['x', 'w'],
outputs=['y'], outputs=['y'],
strides=[3, 2, 2], strides=[3, 2, 2],
...@@ -1083,10 +1081,8 @@ def deconv_stride_test(): ...@@ -1083,10 +1081,8 @@ def deconv_stride_test():
w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3]) w = helper.make_tensor_value_info('w', TensorProto.FLOAT, [1, 2, 3, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 7, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 7, 3])
node = onnx.helper.make_node('ConvTranspose', node = onnx.helper.make_node(
inputs=['x', 'w'], 'ConvTranspose', inputs=['x', 'w'], outputs=['y'], strides=[3, 2])
outputs=['y'],
strides=[3, 2])
return ([node], [x, w], [y]) return ([node], [x, w], [y])
...@@ -1097,11 +1093,8 @@ def depthtospace_test(): ...@@ -1097,11 +1093,8 @@ def depthtospace_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 8, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 8, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 10, 10]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 10, 10])
node = onnx.helper.make_node('DepthToSpace', node = onnx.helper.make_node(
inputs=['x'], 'DepthToSpace', inputs=['x'], outputs=['y'], blocksize=2, mode='DCR')
outputs=['y'],
blocksize=2,
mode='DCR')
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1112,11 +1105,8 @@ def depthtospace_simple_test(): ...@@ -1112,11 +1105,8 @@ def depthtospace_simple_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 8, 2, 3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 8, 2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 4, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 2, 4, 6])
node = onnx.helper.make_node('DepthToSpace', node = onnx.helper.make_node(
inputs=['x'], 'DepthToSpace', inputs=['x'], outputs=['y'], blocksize=2, mode='DCR')
outputs=['y'],
blocksize=2,
mode='DCR')
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1127,11 +1117,8 @@ def depthtospace_crd_test(): ...@@ -1127,11 +1117,8 @@ def depthtospace_crd_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 8, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 8, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 10, 10]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 10, 10])
node = onnx.helper.make_node('DepthToSpace', node = onnx.helper.make_node(
inputs=['x'], 'DepthToSpace', inputs=['x'], outputs=['y'], blocksize=2, mode='CRD')
outputs=['y'],
blocksize=2,
mode='CRD')
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1142,10 +1129,8 @@ def spacetodepth_test(): ...@@ -1142,10 +1129,8 @@ def spacetodepth_test():
x = helper.make_tensor_value_info('x', TensorProto.float, [2, 2, 10, 10]) x = helper.make_tensor_value_info('x', TensorProto.float, [2, 2, 10, 10])
y = helper.make_tensor_value_info('y', TensorProto.float, [2, 8, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.float, [2, 8, 5, 5])
node = onnx.helper.make_node('spacetodepth', node = onnx.helper.make_node(
inputs=['x'], 'spacetodepth', inputs=['x'], outputs=['y'], blocksize=2)
outputs=['y'],
blocksize=2)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1156,10 +1141,8 @@ def spacetodepth_simple_test(): ...@@ -1156,10 +1141,8 @@ def spacetodepth_simple_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 2, 4, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 2, 4, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 8, 2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 8, 2, 3])
node = onnx.helper.make_node('SpaceToDepth', node = onnx.helper.make_node(
inputs=['x'], 'SpaceToDepth', inputs=['x'], outputs=['y'], blocksize=2)
outputs=['y'],
blocksize=2)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1170,10 +1153,8 @@ def spacetodepth_invalid_blocksize_test(): ...@@ -1170,10 +1153,8 @@ def spacetodepth_invalid_blocksize_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 2, 4, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 2, 4, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 8, 2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 8, 2, 3])
node = onnx.helper.make_node('SpaceToDepth', node = onnx.helper.make_node(
inputs=['x'], 'SpaceToDepth', inputs=['x'], outputs=['y'], blocksize=0.3)
outputs=['y'],
blocksize=0.3)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1184,10 +1165,8 @@ def spacetodepth_nondivisibility_test(): ...@@ -1184,10 +1165,8 @@ def spacetodepth_nondivisibility_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 2, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 2, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 8, 2, 2]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 8, 2, 2])
node = onnx.helper.make_node('SpaceToDepth', node = onnx.helper.make_node(
inputs=['x'], 'SpaceToDepth', inputs=['x'], outputs=['y'], blocksize=2)
outputs=['y'],
blocksize=2)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1230,10 +1209,8 @@ def make_dequantizelinear_axis_graph(axis): ...@@ -1230,10 +1209,8 @@ def make_dequantizelinear_axis_graph(axis):
arg_out = helper.make_tensor_value_info('out', TensorProto.FLOAT, arg_out = helper.make_tensor_value_info('out', TensorProto.FLOAT,
[1, 1, 5, 1]) [1, 1, 5, 1])
node = onnx.helper.make_node('DequantizeLinear', node = onnx.helper.make_node(
inputs=['0', '1', '2'], 'DequantizeLinear', inputs=['0', '1', '2'], outputs=['out'], axis=axis)
outputs=['out'],
axis=axis)
return ([node], [arg0, arg1, arg2], [arg_out]) return ([node], [arg0, arg1, arg2], [arg_out])
...@@ -1267,10 +1244,8 @@ def elu_test(): ...@@ -1267,10 +1244,8 @@ def elu_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3])
node = onnx.helper.make_node('Elu', node = onnx.helper.make_node(
inputs=['0'], 'Elu', inputs=['0'], outputs=['1'], alpha=0.01)
outputs=['1'],
alpha=0.01)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1281,25 +1256,23 @@ def embedding_bag_test(): ...@@ -1281,25 +1256,23 @@ def embedding_bag_test():
index_val = np.array([1, 0, 2]) index_val = np.array([1, 0, 2])
offset_val = np.array([0]) offset_val = np.array([0])
index_tensor = helper.make_tensor(name='index_val', index_tensor = helper.make_tensor(
name='index_val',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=index_val.shape, dims=index_val.shape,
vals=index_val.astype(np.int32)) vals=index_val.astype(np.int32))
index = onnx.helper.make_node('Constant', index = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['index'], value=index_tensor)
outputs=['index'],
value=index_tensor)
offset_tensor = helper.make_tensor(name='offset_val', offset_tensor = helper.make_tensor(
name='offset_val',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=offset_val.reshape(()).shape, dims=offset_val.reshape(()).shape,
vals=offset_val.astype(np.int32)) vals=offset_val.astype(np.int32))
offset = onnx.helper.make_node('Constant', offset = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['offset'], value=offset_tensor)
outputs=['offset'],
value=offset_tensor)
weight = helper.make_tensor_value_info('weight', TensorProto.FLOAT, [4, 2]) weight = helper.make_tensor_value_info('weight', TensorProto.FLOAT, [4, 2])
...@@ -1307,19 +1280,22 @@ def embedding_bag_test(): ...@@ -1307,19 +1280,22 @@ def embedding_bag_test():
y2 = helper.make_tensor_value_info('y2', TensorProto.FLOAT, [1, 2]) y2 = helper.make_tensor_value_info('y2', TensorProto.FLOAT, [1, 2])
y3 = helper.make_tensor_value_info('y3', TensorProto.FLOAT, [1, 2]) y3 = helper.make_tensor_value_info('y3', TensorProto.FLOAT, [1, 2])
node1 = onnx.helper.make_node('ATen', node1 = onnx.helper.make_node(
'ATen',
inputs=['weight', 'index', 'offset'], inputs=['weight', 'index', 'offset'],
outputs=['y1'], outputs=['y1'],
mode=0, mode=0,
operator='embedding_bag') operator='embedding_bag')
node2 = onnx.helper.make_node('ATen', node2 = onnx.helper.make_node(
'ATen',
inputs=['weight', 'index', 'offset'], inputs=['weight', 'index', 'offset'],
outputs=['y2'], outputs=['y2'],
mode=1, mode=1,
operator='embedding_bag') operator='embedding_bag')
node3 = onnx.helper.make_node('ATen', node3 = onnx.helper.make_node(
'ATen',
inputs=['weight', 'index', 'offset'], inputs=['weight', 'index', 'offset'],
outputs=['y3'], outputs=['y3'],
mode=2, mode=2,
...@@ -1334,31 +1310,30 @@ def embedding_bag_offset_test(): ...@@ -1334,31 +1310,30 @@ def embedding_bag_offset_test():
index_val = np.array([1, 0]) index_val = np.array([1, 0])
offset_val = np.array([0, 1]) offset_val = np.array([0, 1])
index_tensor = helper.make_tensor(name='index_val', index_tensor = helper.make_tensor(
name='index_val',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=index_val.shape, dims=index_val.shape,
vals=index_val.astype(np.int32)) vals=index_val.astype(np.int32))
index = onnx.helper.make_node('Constant', index = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['index'], value=index_tensor)
outputs=['index'],
value=index_tensor)
offset_tensor = helper.make_tensor(name='offset_val', offset_tensor = helper.make_tensor(
name='offset_val',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=offset_val.shape, dims=offset_val.shape,
vals=offset_val.astype(np.int32)) vals=offset_val.astype(np.int32))
offset = onnx.helper.make_node('Constant', offset = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['offset'], value=offset_tensor)
outputs=['offset'],
value=offset_tensor)
weight = helper.make_tensor_value_info('weight', TensorProto.FLOAT, [2, 3]) weight = helper.make_tensor_value_info('weight', TensorProto.FLOAT, [2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3])
node = onnx.helper.make_node('ATen', node = onnx.helper.make_node(
'ATen',
inputs=['weight', 'index', 'offset'], inputs=['weight', 'index', 'offset'],
outputs=['y'], outputs=['y'],
mode=0, mode=0,
...@@ -1370,7 +1345,8 @@ def embedding_bag_offset_test(): ...@@ -1370,7 +1345,8 @@ def embedding_bag_offset_test():
@onnx_test @onnx_test
def equal_test(): def equal_test():
ax1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0]) ax1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
x1 = helper.make_tensor("x1", x1 = helper.make_tensor(
"x1",
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=(2, 3), dims=(2, 3),
vals=ax1.astype(np.float32)) vals=ax1.astype(np.float32))
...@@ -1436,7 +1412,8 @@ def exp_test(): ...@@ -1436,7 +1412,8 @@ def exp_test():
@onnx_test @onnx_test
def expand_test(): def expand_test():
shape_val = np.array([2, 3, 4, 5]).astype(np.int64) shape_val = np.array([2, 3, 4, 5]).astype(np.int64)
shape_ts = helper.make_tensor(name='shape_tensor', shape_ts = helper.make_tensor(
name='shape_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=shape_val.shape, dims=shape_val.shape,
vals=shape_val.flatten().astype(int)) vals=shape_val.flatten().astype(int))
...@@ -1449,9 +1426,8 @@ def expand_test(): ...@@ -1449,9 +1426,8 @@ def expand_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 1, 1]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 1, 1])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3, 4, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3, 4, 5])
node = onnx.helper.make_node('Expand', node = onnx.helper.make_node(
inputs=['x', 'shape'], 'Expand', inputs=['x', 'shape'], outputs=['y'])
outputs=['y'])
return ([shape_const, node], [x], [y]) return ([shape_const, node], [x], [y])
...@@ -1507,10 +1483,8 @@ def eyelike_k_test(): ...@@ -1507,10 +1483,8 @@ def eyelike_k_test():
def eyelike_k_outofbounds_neg_test(): def eyelike_k_outofbounds_neg_test():
T1 = helper.make_tensor_value_info('T1', TensorProto.FLOAT, [2, 4]) T1 = helper.make_tensor_value_info('T1', TensorProto.FLOAT, [2, 4])
T2 = helper.make_tensor_value_info('T2', TensorProto.FLOAT, [2, 4]) T2 = helper.make_tensor_value_info('T2', TensorProto.FLOAT, [2, 4])
node = onnx.helper.make_node('EyeLike', node = onnx.helper.make_node(
inputs=['T1'], 'EyeLike', inputs=['T1'], outputs=['T2'], k=-2)
outputs=['T2'],
k=-2)
return ([node], [T1], [T2]) return ([node], [T1], [T2])
...@@ -1546,10 +1520,8 @@ def eyelike_verify_test(): ...@@ -1546,10 +1520,8 @@ def eyelike_verify_test():
def eyelike_verify_negk_test(): def eyelike_verify_negk_test():
T1 = helper.make_tensor_value_info('T1', TensorProto.FLOAT, [3, 4]) T1 = helper.make_tensor_value_info('T1', TensorProto.FLOAT, [3, 4])
T2 = helper.make_tensor_value_info('T2', TensorProto.FLOAT, [3, 4]) T2 = helper.make_tensor_value_info('T2', TensorProto.FLOAT, [3, 4])
node = onnx.helper.make_node('EyeLike', node = onnx.helper.make_node(
inputs=['T1'], 'EyeLike', inputs=['T1'], outputs=['T2'], k=-2)
outputs=['T2'],
k=-2)
return ([node], [T1], [T2]) return ([node], [T1], [T2])
...@@ -1557,10 +1529,8 @@ def eyelike_verify_negk_test(): ...@@ -1557,10 +1529,8 @@ def eyelike_verify_negk_test():
def eyelike_set_dtype_test(): def eyelike_set_dtype_test():
T1 = helper.make_tensor_value_info('T1', TensorProto.FLOAT, [3, 4]) T1 = helper.make_tensor_value_info('T1', TensorProto.FLOAT, [3, 4])
T2 = helper.make_tensor_value_info('T2', TensorProto.DOUBLE, [3, 4]) T2 = helper.make_tensor_value_info('T2', TensorProto.DOUBLE, [3, 4])
node = onnx.helper.make_node('EyeLike', node = onnx.helper.make_node(
inputs=['T1'], 'EyeLike', inputs=['T1'], outputs=['T2'], dtype=TensorProto.DOUBLE)
outputs=['T2'],
dtype=TensorProto.DOUBLE)
return ([node], [T1], [T2]) return ([node], [T1], [T2])
...@@ -1570,10 +1540,8 @@ def flatten_test(): ...@@ -1570,10 +1540,8 @@ def flatten_test():
y = helper.make_tensor_value_info('2', TensorProto.FLOAT, [6, 20]) y = helper.make_tensor_value_info('2', TensorProto.FLOAT, [6, 20])
y2 = helper.make_tensor_value_info('3', TensorProto.FLOAT, [2, 60]) y2 = helper.make_tensor_value_info('3', TensorProto.FLOAT, [2, 60])
node = onnx.helper.make_node('Flatten', node = onnx.helper.make_node(
inputs=['0'], 'Flatten', inputs=['0'], axis=2, outputs=['2'])
axis=2,
outputs=['2'])
node2 = onnx.helper.make_node('Flatten', inputs=['0'], outputs=['3']) node2 = onnx.helper.make_node('Flatten', inputs=['0'], outputs=['3'])
...@@ -1593,10 +1561,8 @@ def flatten_nonstd_test(): ...@@ -1593,10 +1561,8 @@ def flatten_nonstd_test():
perm=[0, 1, 3, 2], perm=[0, 1, 3, 2],
) )
node = onnx.helper.make_node('Flatten', node = onnx.helper.make_node(
inputs=['tx'], 'Flatten', inputs=['tx'], axis=2, outputs=['2'])
axis=2,
outputs=['2'])
node2 = onnx.helper.make_node('Flatten', inputs=['tx'], outputs=['3']) node2 = onnx.helper.make_node('Flatten', inputs=['tx'], outputs=['3'])
...@@ -1673,7 +1639,8 @@ def gemm_test(): ...@@ -1673,7 +1639,8 @@ def gemm_test():
z = helper.make_tensor_value_info('2', TensorProto.FLOAT, []) z = helper.make_tensor_value_info('2', TensorProto.FLOAT, [])
a = helper.make_tensor_value_info('3', TensorProto.FLOAT, [7, 11]) a = helper.make_tensor_value_info('3', TensorProto.FLOAT, [7, 11])
node = onnx.helper.make_node('Gemm', node = onnx.helper.make_node(
'Gemm',
inputs=['0', '1', '2'], inputs=['0', '1', '2'],
outputs=['3'], outputs=['3'],
alpha=2.0, alpha=2.0,
...@@ -1691,7 +1658,8 @@ def gemm_ex_test(): ...@@ -1691,7 +1658,8 @@ def gemm_ex_test():
m3 = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 1, 6, 7]) m3 = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 1, 6, 7])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 6, 7]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 6, 7])
node = onnx.helper.make_node('Gemm', node = onnx.helper.make_node(
'Gemm',
inputs=['1', '2', '3'], inputs=['1', '2', '3'],
outputs=['y'], outputs=['y'],
alpha=0.5, alpha=0.5,
...@@ -1708,7 +1676,8 @@ def gemm_ex_brcst_test(): ...@@ -1708,7 +1676,8 @@ def gemm_ex_brcst_test():
m3 = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 1, 6, 1]) m3 = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 1, 6, 1])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 6, 7]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 6, 7])
node = onnx.helper.make_node('Gemm', node = onnx.helper.make_node(
'Gemm',
inputs=['1', '2', '3'], inputs=['1', '2', '3'],
outputs=['y'], outputs=['y'],
alpha=0.5, alpha=0.5,
...@@ -1725,7 +1694,8 @@ def gemm_half_test(): ...@@ -1725,7 +1694,8 @@ def gemm_half_test():
m3 = helper.make_tensor_value_info('3', TensorProto.FLOAT16, [1, 1, 6, 1]) m3 = helper.make_tensor_value_info('3', TensorProto.FLOAT16, [1, 1, 6, 1])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT16, [1, 1, 6, 7]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT16, [1, 1, 6, 7])
node = onnx.helper.make_node('Gemm', node = onnx.helper.make_node(
'Gemm',
inputs=['1', '2', '3'], inputs=['1', '2', '3'],
outputs=['y'], outputs=['y'],
alpha=0.5, alpha=0.5,
...@@ -1766,7 +1736,8 @@ def globalmaxpool_test(): ...@@ -1766,7 +1736,8 @@ def globalmaxpool_test():
@onnx_test @onnx_test
def greater_test(): def greater_test():
ax1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0]) ax1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
x1 = helper.make_tensor("x1", x1 = helper.make_tensor(
"x1",
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=(2, 3), dims=(2, 3),
vals=ax1.astype(np.float32)) vals=ax1.astype(np.float32))
...@@ -1848,11 +1819,8 @@ def hardsigmoid_double_test(): ...@@ -1848,11 +1819,8 @@ def hardsigmoid_double_test():
x = helper.make_tensor_value_info('x', TensorProto.DOUBLE, [1, 3, 4, 5]) x = helper.make_tensor_value_info('x', TensorProto.DOUBLE, [1, 3, 4, 5])
y = helper.make_tensor_value_info('y', TensorProto.DOUBLE, [1, 3, 4, 5]) y = helper.make_tensor_value_info('y', TensorProto.DOUBLE, [1, 3, 4, 5])
node = onnx.helper.make_node('HardSigmoid', node = onnx.helper.make_node(
inputs=['x'], 'HardSigmoid', inputs=['x'], outputs=['y'], alpha=0.3, beta=0.7)
outputs=['y'],
alpha=0.3,
beta=0.7)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -1892,32 +1860,30 @@ def if_else_test(): ...@@ -1892,32 +1860,30 @@ def if_else_test():
x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3]) x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3])
y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 3]) y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 3])
then_out = onnx.helper.make_tensor_value_info('then_out', then_out = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'then_out', onnx.TensorProto.FLOAT, [2, 3])
[2, 3]) else_out = onnx.helper.make_tensor_value_info(
else_out = onnx.helper.make_tensor_value_info('else_out', 'else_out', onnx.TensorProto.FLOAT, [2, 3])
onnx.TensorProto.FLOAT,
[2, 3])
xt = np.ones((2, 3)).astype(np.float) xt = np.ones((2, 3)).astype(np.float)
xt_tensor = helper.make_tensor(name='xt', xt_tensor = helper.make_tensor(
name='xt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=xt.shape, dims=xt.shape,
vals=xt.flatten().astype(np.float32)) vals=xt.flatten().astype(np.float32))
yt = np.random.randn(2, 3).astype(np.float) yt = np.random.randn(2, 3).astype(np.float)
yt_tensor = helper.make_tensor(name='yt', yt_tensor = helper.make_tensor(
name='yt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=yt.shape, dims=yt.shape,
vals=yt.flatten().astype(np.float32)) vals=yt.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'xt'], 'Add', inputs=['x', 'xt'], outputs=['then_out'])
outputs=['then_out'])
else_mul_node = onnx.helper.make_node('Mul', else_mul_node = onnx.helper.make_node(
inputs=['y', 'yt'], 'Mul', inputs=['y', 'yt'], outputs=['else_out'])
outputs=['else_out'])
then_body = onnx.helper.make_graph([then_add_node], 'then_body', [], then_body = onnx.helper.make_graph([then_add_node], 'then_body', [],
[then_out]) [then_out])
...@@ -1926,13 +1892,15 @@ def if_else_test(): ...@@ -1926,13 +1892,15 @@ def if_else_test():
[else_out]) [else_out])
cond = np.array([0]).astype(np.bool) cond = np.array([0]).astype(np.bool)
cond_tensor = helper.make_tensor(name="cond", cond_tensor = helper.make_tensor(
name="cond",
data_type=TensorProto.BOOL, data_type=TensorProto.BOOL,
dims=cond.shape, dims=cond.shape,
vals=cond.astype(bool)) vals=cond.astype(bool))
res = onnx.helper.make_tensor_value_info('res', TensorProto.FLOAT, []) res = onnx.helper.make_tensor_value_info('res', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['res'], outputs=['res'],
then_branch=then_body, then_branch=then_body,
...@@ -1980,7 +1948,8 @@ def if_literal_test(): ...@@ -1980,7 +1948,8 @@ def if_literal_test():
onnx.TensorProto.BOOL, []) onnx.TensorProto.BOOL, [])
ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, []) ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['ret'], outputs=['ret'],
then_branch=then_body, then_branch=then_body,
...@@ -1991,12 +1960,10 @@ def if_literal_test(): ...@@ -1991,12 +1960,10 @@ def if_literal_test():
@onnx_test @onnx_test
def if_param_excp_test(): def if_param_excp_test():
then_out = onnx.helper.make_tensor_value_info('then_out', then_out = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'then_out', onnx.TensorProto.FLOAT, [2, 3])
[2, 3]) else_out = onnx.helper.make_tensor_value_info(
else_out = onnx.helper.make_tensor_value_info('else_out', 'else_out', onnx.TensorProto.FLOAT, [2, 3])
onnx.TensorProto.FLOAT,
[2, 3])
x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3]) x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3])
y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 4]) y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 4])
...@@ -2004,23 +1971,23 @@ def if_param_excp_test(): ...@@ -2004,23 +1971,23 @@ def if_param_excp_test():
yt = np.random.randn(2, 4).astype(np.float) yt = np.random.randn(2, 4).astype(np.float)
xt = np.random.randn(2, 3).astype(np.float) xt = np.random.randn(2, 3).astype(np.float)
xt_tensor = helper.make_tensor(name='xt', xt_tensor = helper.make_tensor(
name='xt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=xt.shape, dims=xt.shape,
vals=xt.flatten().astype(np.float32)) vals=xt.flatten().astype(np.float32))
yt_tensor = helper.make_tensor(name='yt', yt_tensor = helper.make_tensor(
name='yt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=yt.shape, dims=yt.shape,
vals=yt.flatten().astype(np.float32)) vals=yt.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'xt'], 'Add', inputs=['x', 'xt'], outputs=['then_out'])
outputs=['then_out'])
else_mul_node = onnx.helper.make_node('Mul', else_mul_node = onnx.helper.make_node(
inputs=['y', 'yt'], 'Mul', inputs=['y', 'yt'], outputs=['else_out'])
outputs=['else_out'])
then_body = onnx.helper.make_graph([then_add_node], 'then_body', [], then_body = onnx.helper.make_graph([then_add_node], 'then_body', [],
[then_out], [xt_tensor]) [then_out], [xt_tensor])
...@@ -2032,7 +1999,8 @@ def if_param_excp_test(): ...@@ -2032,7 +1999,8 @@ def if_param_excp_test():
onnx.TensorProto.BOOL, []) onnx.TensorProto.BOOL, [])
ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, []) ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['ret'], outputs=['ret'],
then_branch=then_body, then_branch=then_body,
...@@ -2043,22 +2011,21 @@ def if_param_excp_test(): ...@@ -2043,22 +2011,21 @@ def if_param_excp_test():
@onnx_test @onnx_test
def if_param_excp1_test(): def if_param_excp1_test():
then_out = onnx.helper.make_tensor_value_info('sub_out', then_out = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'sub_out', onnx.TensorProto.FLOAT, [2, 3])
[2, 3])
x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3]) x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3])
xt = np.random.randn(2, 3).astype(np.float) xt = np.random.randn(2, 3).astype(np.float)
xt_tensor = helper.make_tensor(name='xt', xt_tensor = helper.make_tensor(
name='xt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=xt.shape, dims=xt.shape,
vals=xt.flatten().astype(np.float32)) vals=xt.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'xt'], 'Add', inputs=['x', 'xt'], outputs=['sub_out'])
outputs=['sub_out'])
sub_body = onnx.helper.make_graph([then_add_node], 'sub_body', [], sub_body = onnx.helper.make_graph([then_add_node], 'sub_body', [],
[then_out], [xt_tensor]) [then_out], [xt_tensor])
...@@ -2067,7 +2034,8 @@ def if_param_excp1_test(): ...@@ -2067,7 +2034,8 @@ def if_param_excp1_test():
onnx.TensorProto.BOOL, [2]) onnx.TensorProto.BOOL, [2])
ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, []) ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['ret'], outputs=['ret'],
then_branch=sub_body, then_branch=sub_body,
...@@ -2078,12 +2046,10 @@ def if_param_excp1_test(): ...@@ -2078,12 +2046,10 @@ def if_param_excp1_test():
@onnx_test @onnx_test
def if_param_test(): def if_param_test():
then_out = onnx.helper.make_tensor_value_info('then_out', then_out = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'then_out', onnx.TensorProto.FLOAT, [2, 3])
[2, 3]) else_out = onnx.helper.make_tensor_value_info(
else_out = onnx.helper.make_tensor_value_info('else_out', 'else_out', onnx.TensorProto.FLOAT, [2, 3])
onnx.TensorProto.FLOAT,
[2, 3])
x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3]) x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3])
y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 3]) y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 3])
...@@ -2091,23 +2057,23 @@ def if_param_test(): ...@@ -2091,23 +2057,23 @@ def if_param_test():
yt = np.random.randn(2, 3).astype(np.float) yt = np.random.randn(2, 3).astype(np.float)
xt = np.random.randn(2, 3).astype(np.float) xt = np.random.randn(2, 3).astype(np.float)
xt_tensor = helper.make_tensor(name='xt', xt_tensor = helper.make_tensor(
name='xt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=xt.shape, dims=xt.shape,
vals=xt.flatten().astype(np.float32)) vals=xt.flatten().astype(np.float32))
yt_tensor = helper.make_tensor(name='yt', yt_tensor = helper.make_tensor(
name='yt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=yt.shape, dims=yt.shape,
vals=yt.flatten().astype(np.float32)) vals=yt.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'xt'], 'Add', inputs=['x', 'xt'], outputs=['then_out'])
outputs=['then_out'])
else_mul_node = onnx.helper.make_node('Mul', else_mul_node = onnx.helper.make_node(
inputs=['y', 'yt'], 'Mul', inputs=['y', 'yt'], outputs=['else_out'])
outputs=['else_out'])
then_body = onnx.helper.make_graph([then_add_node], 'then_body', [], then_body = onnx.helper.make_graph([then_add_node], 'then_body', [],
[then_out], [xt_tensor]) [then_out], [xt_tensor])
...@@ -2119,7 +2085,8 @@ def if_param_test(): ...@@ -2119,7 +2085,8 @@ def if_param_test():
onnx.TensorProto.BOOL, []) onnx.TensorProto.BOOL, [])
ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, []) ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['ret'], outputs=['ret'],
then_branch=then_body, then_branch=then_body,
...@@ -2132,14 +2099,12 @@ def if_param_test(): ...@@ -2132,14 +2099,12 @@ def if_param_test():
def if_pl_test(): def if_pl_test():
out_x = onnx.helper.make_tensor_value_info('out_x', onnx.TensorProto.FLOAT, out_x = onnx.helper.make_tensor_value_info('out_x', onnx.TensorProto.FLOAT,
[2, 3]) [2, 3])
out_l_x = onnx.helper.make_tensor_value_info('out_l_x', out_l_x = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'out_l_x', onnx.TensorProto.FLOAT, [2, 3])
[2, 3])
out_y = onnx.helper.make_tensor_value_info('out_y', onnx.TensorProto.FLOAT, out_y = onnx.helper.make_tensor_value_info('out_y', onnx.TensorProto.FLOAT,
[3, 3]) [3, 3])
out_l_y = onnx.helper.make_tensor_value_info('out_l_y', out_l_y = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'out_l_y', onnx.TensorProto.FLOAT, [3, 3])
[3, 3])
x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3]) x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3])
y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [3, 3]) y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [3, 3])
...@@ -2147,23 +2112,23 @@ def if_pl_test(): ...@@ -2147,23 +2112,23 @@ def if_pl_test():
xt = np.array([[1, 2, 3], [4, 5, 6]]).astype(np.float32) xt = np.array([[1, 2, 3], [4, 5, 6]]).astype(np.float32)
yt = np.array([[8, 7, 6], [5, 4, 3], [2, 1, 0]]).astype(np.float32) yt = np.array([[8, 7, 6], [5, 4, 3], [2, 1, 0]]).astype(np.float32)
xt_tensor = helper.make_tensor(name='xt', xt_tensor = helper.make_tensor(
name='xt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=xt.shape, dims=xt.shape,
vals=xt.flatten().astype(np.float32)) vals=xt.flatten().astype(np.float32))
yt_tensor = helper.make_tensor(name='yt', yt_tensor = helper.make_tensor(
name='yt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=yt.shape, dims=yt.shape,
vals=yt.flatten().astype(np.float32)) vals=yt.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'xt'], 'Add', inputs=['x', 'xt'], outputs=['out_x'])
outputs=['out_x'])
else_mul_node = onnx.helper.make_node('Mul', else_mul_node = onnx.helper.make_node(
inputs=['y', 'yt'], 'Mul', inputs=['y', 'yt'], outputs=['out_y'])
outputs=['out_y'])
then_const_node = onnx.helper.make_node( then_const_node = onnx.helper.make_node(
'Constant', 'Constant',
...@@ -2187,7 +2152,8 @@ def if_pl_test(): ...@@ -2187,7 +2152,8 @@ def if_pl_test():
onnx.TensorProto.BOOL, []) onnx.TensorProto.BOOL, [])
ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, []) ret = onnx.helper.make_tensor_value_info('ret', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['ret'], outputs=['ret'],
then_branch=then_body, then_branch=then_body,
...@@ -2201,32 +2167,30 @@ def if_then_test(): ...@@ -2201,32 +2167,30 @@ def if_then_test():
x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3]) x = onnx.helper.make_tensor_value_info('x', onnx.TensorProto.FLOAT, [2, 3])
y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 3]) y = onnx.helper.make_tensor_value_info('y', onnx.TensorProto.FLOAT, [2, 3])
then_out = onnx.helper.make_tensor_value_info('then_out', then_out = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'then_out', onnx.TensorProto.FLOAT, [2, 3])
[2, 3]) else_out = onnx.helper.make_tensor_value_info(
else_out = onnx.helper.make_tensor_value_info('else_out', 'else_out', onnx.TensorProto.FLOAT, [2, 3])
onnx.TensorProto.FLOAT,
[2, 3])
xt = np.ones((2, 3)).astype(np.float) xt = np.ones((2, 3)).astype(np.float)
xt_tensor = helper.make_tensor(name='xt', xt_tensor = helper.make_tensor(
name='xt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=xt.shape, dims=xt.shape,
vals=xt.flatten().astype(np.float32)) vals=xt.flatten().astype(np.float32))
yt = np.random.randn(2, 3).astype(np.float) yt = np.random.randn(2, 3).astype(np.float)
yt_tensor = helper.make_tensor(name='yt', yt_tensor = helper.make_tensor(
name='yt',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=yt.shape, dims=yt.shape,
vals=yt.flatten().astype(np.float32)) vals=yt.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'xt'], 'Add', inputs=['x', 'xt'], outputs=['then_out'])
outputs=['then_out'])
else_mul_node = onnx.helper.make_node('Mul', else_mul_node = onnx.helper.make_node(
inputs=['y', 'yt'], 'Mul', inputs=['y', 'yt'], outputs=['else_out'])
outputs=['else_out'])
then_body = onnx.helper.make_graph([then_add_node], 'then_body', [], then_body = onnx.helper.make_graph([then_add_node], 'then_body', [],
[then_out]) [then_out])
...@@ -2235,13 +2199,15 @@ def if_then_test(): ...@@ -2235,13 +2199,15 @@ def if_then_test():
[else_out]) [else_out])
cond = np.array([1]).astype(np.bool) cond = np.array([1]).astype(np.bool)
cond_tensor = helper.make_tensor(name="cond", cond_tensor = helper.make_tensor(
name="cond",
data_type=TensorProto.BOOL, data_type=TensorProto.BOOL,
dims=cond.shape, dims=cond.shape,
vals=cond.astype(bool)) vals=cond.astype(bool))
res = onnx.helper.make_tensor_value_info('res', TensorProto.FLOAT, []) res = onnx.helper.make_tensor_value_info('res', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['res'], outputs=['res'],
then_branch=then_body, then_branch=then_body,
...@@ -2257,50 +2223,45 @@ def if_tuple_test(): ...@@ -2257,50 +2223,45 @@ def if_tuple_test():
cond_input = onnx.helper.make_tensor_value_info('cond', cond_input = onnx.helper.make_tensor_value_info('cond',
onnx.TensorProto.BOOL, []) onnx.TensorProto.BOOL, [])
then_out0 = onnx.helper.make_tensor_value_info('then_out0', then_out0 = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'then_out0', onnx.TensorProto.FLOAT, [1, 4])
[1, 4]) then_out1 = onnx.helper.make_tensor_value_info(
then_out1 = onnx.helper.make_tensor_value_info('then_out1', 'then_out1', onnx.TensorProto.FLOAT, [3, 4])
onnx.TensorProto.FLOAT, else_out0 = onnx.helper.make_tensor_value_info(
[3, 4]) 'else_out0', onnx.TensorProto.FLOAT, [1, 4])
else_out0 = onnx.helper.make_tensor_value_info('else_out0', else_out1 = onnx.helper.make_tensor_value_info(
onnx.TensorProto.FLOAT, 'else_out1', onnx.TensorProto.FLOAT, [3, 4])
[1, 4])
else_out1 = onnx.helper.make_tensor_value_info('else_out1',
onnx.TensorProto.FLOAT,
[3, 4])
one = np.ones([1]).astype(np.float) one = np.ones([1]).astype(np.float)
one_tensor = helper.make_tensor(name='one', one_tensor = helper.make_tensor(
name='one',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=one.shape, dims=one.shape,
vals=one.flatten().astype(np.float32)) vals=one.flatten().astype(np.float32))
two = np.array([2]).astype(np.float) two = np.array([2]).astype(np.float)
two_tensor = helper.make_tensor(name='two', two_tensor = helper.make_tensor(
name='two',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=two.shape, dims=two.shape,
vals=two.flatten().astype(np.float32)) vals=two.flatten().astype(np.float32))
three = np.array([3]).astype(np.float) three = np.array([3]).astype(np.float)
three_tensor = helper.make_tensor(name='three', three_tensor = helper.make_tensor(
name='three',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=three.shape, dims=three.shape,
vals=three.flatten().astype(np.float32)) vals=three.flatten().astype(np.float32))
then_add_node = onnx.helper.make_node('Add', then_add_node = onnx.helper.make_node(
inputs=['x', 'one'], 'Add', inputs=['x', 'one'], outputs=['then_out0'])
outputs=['then_out0']) then_mul_node = onnx.helper.make_node(
then_mul_node = onnx.helper.make_node('Mul', 'Mul', inputs=['y', 'two'], outputs=['then_out1'])
inputs=['y', 'two'],
outputs=['then_out1'])
else_mul_node = onnx.helper.make_node('Mul', else_mul_node = onnx.helper.make_node(
inputs=['x', 'three'], 'Mul', inputs=['x', 'three'], outputs=['else_out0'])
outputs=['else_out0']) else_add_node = onnx.helper.make_node(
else_add_node = onnx.helper.make_node('Add', 'Add', inputs=['y', 'three'], outputs=['else_out1'])
inputs=['y', 'three'],
outputs=['else_out1'])
then_body = onnx.helper.make_graph([then_add_node, then_mul_node], then_body = onnx.helper.make_graph([then_add_node, then_mul_node],
'then_body', [], [then_out0, then_out1]) 'then_body', [], [then_out0, then_out1])
...@@ -2311,14 +2272,15 @@ def if_tuple_test(): ...@@ -2311,14 +2272,15 @@ def if_tuple_test():
res0 = onnx.helper.make_tensor_value_info('res0', TensorProto.FLOAT, []) res0 = onnx.helper.make_tensor_value_info('res0', TensorProto.FLOAT, [])
res1 = onnx.helper.make_tensor_value_info('res1', TensorProto.FLOAT, []) res1 = onnx.helper.make_tensor_value_info('res1', TensorProto.FLOAT, [])
node = onnx.helper.make_node('If', node = onnx.helper.make_node(
'If',
inputs=['cond'], inputs=['cond'],
outputs=['res0', 'res1'], outputs=['res0', 'res1'],
then_branch=then_body, then_branch=then_body,
else_branch=else_body) else_branch=else_body)
return ([node], [cond_input, x, return ([node], [cond_input, x, y], [res0, res1],
y], [res0, res1], [one_tensor, two_tensor, three_tensor]) [one_tensor, two_tensor, three_tensor])
@onnx_test @onnx_test
...@@ -2326,7 +2288,8 @@ def imagescaler_test(): ...@@ -2326,7 +2288,8 @@ def imagescaler_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [1, 3, 16, 16]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [1, 3, 16, 16])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 16, 16]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 3, 16, 16])
node = onnx.helper.make_node('ImageScaler', node = onnx.helper.make_node(
'ImageScaler',
inputs=['0'], inputs=['0'],
outputs=['1'], outputs=['1'],
bias=[0.01, 0.02, 0.03], bias=[0.01, 0.02, 0.03],
...@@ -2340,7 +2303,8 @@ def imagescaler_half_test(): ...@@ -2340,7 +2303,8 @@ def imagescaler_half_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT16, [1, 3, 16, 16]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT16, [1, 3, 16, 16])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT16, [1, 3, 16, 16]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT16, [1, 3, 16, 16])
node = onnx.helper.make_node('ImageScaler', node = onnx.helper.make_node(
'ImageScaler',
inputs=['0'], inputs=['0'],
outputs=['1'], outputs=['1'],
bias=[0.01, 0.02, 0.03], bias=[0.01, 0.02, 0.03],
...@@ -2399,7 +2363,8 @@ def implicit_sub_bcast_test(): ...@@ -2399,7 +2363,8 @@ def implicit_sub_bcast_test():
@onnx_test @onnx_test
def initializer_not_an_input(): def initializer_not_an_input():
values = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) values = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
w = helper.make_tensor(name='w', w = helper.make_tensor(
name='w',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=values.shape, dims=values.shape,
vals=values.flatten().astype(np.float)) vals=values.flatten().astype(np.float))
...@@ -2423,29 +2388,31 @@ def instance_norm_test(): ...@@ -2423,29 +2388,31 @@ def instance_norm_test():
bias = helper.make_tensor_value_info('2', TensorProto.FLOAT, [2]) bias = helper.make_tensor_value_info('2', TensorProto.FLOAT, [2])
y = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 2, 3, 3]) y = helper.make_tensor_value_info('3', TensorProto.FLOAT, [1, 2, 3, 3])
node = onnx.helper.make_node('InstanceNormalization', node = onnx.helper.make_node(
inputs=['0', '1', '2'], 'InstanceNormalization', inputs=['0', '1', '2'], outputs=['3'])
outputs=['3'])
return ([node], [x, scale, bias], [y]) return ([node], [x, scale, bias], [y])
@onnx_test @onnx_test
def instance_norm_val_test(): def instance_norm_val_test():
x = np.array([[[[0, 1, 2], [3, 4, 5], [6, 7, 8]], x = np.array([[[[0, 1, 2], [3, 4, 5], [6, 7, 8]], [[0, 1, 2], [3, 4, 5],
[[0, 1, 2], [3, 4, 5], [6, 7, 8]]]]) [6, 7, 8]]]])
scale = np.array([1, 2]) scale = np.array([1, 2])
bias = np.array([0, 1]) bias = np.array([0, 1])
x_tensor = helper.make_tensor(name='x_tensor', x_tensor = helper.make_tensor(
name='x_tensor',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=x.shape, dims=x.shape,
vals=x.flatten().astype(np.float)) vals=x.flatten().astype(np.float))
scale_tensor = helper.make_tensor(name='scale_tensor', scale_tensor = helper.make_tensor(
name='scale_tensor',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scale.shape, dims=scale.shape,
vals=scale.flatten().astype(np.float)) vals=scale.flatten().astype(np.float))
bias_tensor = helper.make_tensor(name='bias_tensor', bias_tensor = helper.make_tensor(
name='bias_tensor',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=bias.shape, dims=bias.shape,
vals=bias.flatten().astype(np.float)) vals=bias.flatten().astype(np.float))
...@@ -2462,20 +2429,23 @@ def instance_norm_val_test(): ...@@ -2462,20 +2429,23 @@ def instance_norm_val_test():
@onnx_test @onnx_test
def instance_norm_val_3d_test(): def instance_norm_val_3d_test():
x = np.array([[[[[0, 1], [2, 3]], [[4, 5], [6, 7]]], x = np.array([[[[[0, 1], [2, 3]], [[4, 5], [6, 7]]], [[[0, 1], [2, 3]],
[[[0, 1], [2, 3]], [[4, 5], [6, 7]]]]]) [[4, 5], [6, 7]]]]])
scale = np.array([1, 2]) scale = np.array([1, 2])
bias = np.array([0, 1]) bias = np.array([0, 1])
x_tensor = helper.make_tensor(name='x_tensor', x_tensor = helper.make_tensor(
name='x_tensor',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=x.shape, dims=x.shape,
vals=x.flatten().astype(np.float)) vals=x.flatten().astype(np.float))
scale_tensor = helper.make_tensor(name='scale_tensor', scale_tensor = helper.make_tensor(
name='scale_tensor',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scale.shape, dims=scale.shape,
vals=scale.flatten().astype(np.float)) vals=scale.flatten().astype(np.float))
bias_tensor = helper.make_tensor(name='bias_tensor', bias_tensor = helper.make_tensor(
name='bias_tensor',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=bias.shape, dims=bias.shape,
vals=bias.flatten().astype(np.float)) vals=bias.flatten().astype(np.float))
...@@ -2526,57 +2496,47 @@ def layernorm_test(): ...@@ -2526,57 +2496,47 @@ def layernorm_test():
pow_2 = np.array([[[2, 2, 2, 2, 2]]]) pow_2 = np.array([[[2, 2, 2, 2, 2]]])
epsilon = np.array([1e-12]) epsilon = np.array([1e-12])
pow_tensor = helper.make_tensor(name='pow', pow_tensor = helper.make_tensor(
name='pow',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=pow_2.shape, dims=pow_2.shape,
vals=pow_2.flatten().astype(np.float)) vals=pow_2.flatten().astype(np.float))
epsilon_tensor = helper.make_tensor(name='epsilon', epsilon_tensor = helper.make_tensor(
name='epsilon',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=epsilon.shape, dims=epsilon.shape,
vals=epsilon.flatten().astype( vals=epsilon.flatten().astype(np.float))
np.float))
mean = onnx.helper.make_node('ReduceMean', mean = onnx.helper.make_node(
inputs=['0'], 'ReduceMean', inputs=['0'], outputs=['mean_out'], axes=axes)
outputs=['mean_out'],
axes=axes)
sub_mean = onnx.helper.make_node('Sub', sub_mean = onnx.helper.make_node(
inputs=['0', 'mean_out'], 'Sub', inputs=['0', 'mean_out'], outputs=['sub_out'])
outputs=['sub_out'])
sub_pow = onnx.helper.make_node('Pow', sub_pow = onnx.helper.make_node(
inputs=['sub_out', 'pow'], 'Pow', inputs=['sub_out', 'pow'], outputs=['pow_out'])
outputs=['pow_out'])
var = onnx.helper.make_node('ReduceMean', var = onnx.helper.make_node(
inputs=['pow_out'], 'ReduceMean', inputs=['pow_out'], outputs=['var_out'], axes=axes)
outputs=['var_out'],
axes=axes)
add = onnx.helper.make_node('Add', add = onnx.helper.make_node(
inputs=['var_out', 'epsilon'], 'Add', inputs=['var_out', 'epsilon'], outputs=['add_out'])
outputs=['add_out'])
sqrt = onnx.helper.make_node('Sqrt', sqrt = onnx.helper.make_node(
inputs=['add_out'], 'Sqrt', inputs=['add_out'], outputs=['sqrt_out'])
outputs=['sqrt_out'])
div = onnx.helper.make_node('Div', div = onnx.helper.make_node(
inputs=['sub_out', 'sqrt_out'], 'Div', inputs=['sub_out', 'sqrt_out'], outputs=['div_out'])
outputs=['div_out'])
mul = onnx.helper.make_node('Mul', mul = onnx.helper.make_node(
inputs=['scale', 'div_out'], 'Mul', inputs=['scale', 'div_out'], outputs=['mul_out'])
outputs=['mul_out'])
bias_add = onnx.helper.make_node('Add', bias_add = onnx.helper.make_node(
inputs=['mul_out', 'bias'], 'Add', inputs=['mul_out', 'bias'], outputs=['1'])
outputs=['1'])
return ([mean, sub_mean, sub_pow, var, add, sqrt, div, mul, return ([mean, sub_mean, sub_pow, var, add, sqrt, div, mul, bias_add],
bias_add], [x, scale, bias], [y], [pow_tensor, epsilon_tensor]) [x, scale, bias], [y], [pow_tensor, epsilon_tensor])
@onnx_test @onnx_test
...@@ -2584,10 +2544,8 @@ def leaky_relu_test(): ...@@ -2584,10 +2544,8 @@ def leaky_relu_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3])
node = onnx.helper.make_node('LeakyRelu', node = onnx.helper.make_node(
inputs=['0'], 'LeakyRelu', inputs=['0'], outputs=['1'], alpha=0.01)
outputs=['1'],
alpha=0.01)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -2595,7 +2553,8 @@ def leaky_relu_test(): ...@@ -2595,7 +2553,8 @@ def leaky_relu_test():
@onnx_test @onnx_test
def less_test(): def less_test():
ax1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0]) ax1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
x1 = helper.make_tensor("x1", x1 = helper.make_tensor(
"x1",
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=(2, 3), dims=(2, 3),
vals=ax1.astype(np.float32)) vals=ax1.astype(np.float32))
...@@ -2698,10 +2657,8 @@ def logsoftmax_test(): ...@@ -2698,10 +2657,8 @@ def logsoftmax_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 5, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 5, 6])
node = onnx.helper.make_node('LogSoftmax', node = onnx.helper.make_node(
inputs=['x'], 'LogSoftmax', inputs=['x'], outputs=['y'], axis=1)
outputs=['y'],
axis=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -2711,17 +2668,16 @@ def logsoftmax_nonstd_input_test(): ...@@ -2711,17 +2668,16 @@ def logsoftmax_nonstd_input_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [6, 9]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [6, 9])
y = helper.make_tensor_value_info('2', TensorProto.FLOAT, [3, 4]) y = helper.make_tensor_value_info('2', TensorProto.FLOAT, [3, 4])
node0 = onnx.helper.make_node('Slice', node0 = onnx.helper.make_node(
'Slice',
inputs=['0'], inputs=['0'],
axes=[0, 1], axes=[0, 1],
starts=[1, 0], starts=[1, 0],
ends=[4, 4], ends=[4, 4],
outputs=['1']) outputs=['1'])
node1 = onnx.helper.make_node('LogSoftmax', node1 = onnx.helper.make_node(
inputs=['1'], 'LogSoftmax', inputs=['1'], outputs=['2'], axis=-1)
outputs=['2'],
axis=-1)
return ([node0, node1], [x], [y]) return ([node0, node1], [x], [y])
...@@ -2809,10 +2765,8 @@ def lpnormalization_axis_error_test(): ...@@ -2809,10 +2765,8 @@ def lpnormalization_axis_error_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3])
node = onnx.helper.make_node('LpNormalization', node = onnx.helper.make_node(
inputs=['x'], 'LpNormalization', inputs=['x'], outputs=['y'], axis=2)
outputs=['y'],
axis=2)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -2849,10 +2803,8 @@ def lpnormalization_l2_test(): ...@@ -2849,10 +2803,8 @@ def lpnormalization_l2_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4])
node = onnx.helper.make_node('LpNormalization', node = onnx.helper.make_node(
inputs=['x'], 'LpNormalization', inputs=['x'], outputs=['y'], p=2)
outputs=['y'],
p=2)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -2861,10 +2813,8 @@ def lpnormalization_p_error_test(): ...@@ -2861,10 +2813,8 @@ def lpnormalization_p_error_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 3])
node = onnx.helper.make_node('LpNormalization', node = onnx.helper.make_node(
inputs=['x'], 'LpNormalization', inputs=['x'], outputs=['y'], p=3)
outputs=['y'],
p=3)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -2873,7 +2823,8 @@ def lrn_test(): ...@@ -2873,7 +2823,8 @@ def lrn_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [1, 28, 24, 24]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [1, 28, 24, 24])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 28, 24, 24]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 28, 24, 24])
node = onnx.helper.make_node('LRN', node = onnx.helper.make_node(
'LRN',
inputs=['0'], inputs=['0'],
size=5, size=5,
alpha=0.0001, alpha=0.0001,
...@@ -3010,7 +2961,8 @@ def maxpool_notset_test(): ...@@ -3010,7 +2961,8 @@ def maxpool_notset_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 1, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 1, 1])
node = onnx.helper.make_node('MaxPool', node = onnx.helper.make_node(
'MaxPool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[6, 6], kernel_shape=[6, 6],
...@@ -3026,7 +2978,8 @@ def maxpool_same_upper_test(): ...@@ -3026,7 +2978,8 @@ def maxpool_same_upper_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [1, 1, 5, 5])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [1, 1, 5, 5])
node = onnx.helper.make_node('MaxPool', node = onnx.helper.make_node(
'MaxPool',
inputs=['x'], inputs=['x'],
outputs=['y'], outputs=['y'],
kernel_shape=[2, 2], kernel_shape=[2, 2],
...@@ -3047,9 +3000,8 @@ def mean_broadcast_test(): ...@@ -3047,9 +3000,8 @@ def mean_broadcast_test():
mean = helper.make_tensor_value_info('mean', TensorProto.FLOAT, mean = helper.make_tensor_value_info('mean', TensorProto.FLOAT,
[1, 2, 3, 4]) [1, 2, 3, 4])
node = onnx.helper.make_node("Mean", node = onnx.helper.make_node(
inputs=["0", "1", "2", "3", "4"], "Mean", inputs=["0", "1", "2", "3", "4"], outputs=["mean"])
outputs=["mean"])
return ([node], [data_0, data_1, data_2, data_3, data_4], [mean]) return ([node], [data_0, data_1, data_2, data_3, data_4], [mean])
...@@ -3063,9 +3015,8 @@ def mean_fp16_test(): ...@@ -3063,9 +3015,8 @@ def mean_fp16_test():
mean = helper.make_tensor_value_info('mean', TensorProto.FLOAT16, mean = helper.make_tensor_value_info('mean', TensorProto.FLOAT16,
[1, 2, 3]) [1, 2, 3])
node = onnx.helper.make_node("Mean", node = onnx.helper.make_node(
inputs=["0", "1", "2"], "Mean", inputs=["0", "1", "2"], outputs=["mean"])
outputs=["mean"])
return ([node], [data_0, data_1, data_2], [mean]) return ([node], [data_0, data_1, data_2], [mean])
...@@ -3078,9 +3029,8 @@ def mean_invalid_broadcast_test(): ...@@ -3078,9 +3029,8 @@ def mean_invalid_broadcast_test():
mean = helper.make_tensor_value_info('mean', TensorProto.FLOAT, [1, 2, 3]) mean = helper.make_tensor_value_info('mean', TensorProto.FLOAT, [1, 2, 3])
node = onnx.helper.make_node("Mean", node = onnx.helper.make_node(
inputs=["0", "1", "2"], "Mean", inputs=["0", "1", "2"], outputs=["mean"])
outputs=["mean"])
return ([node], [data_0, data_1, data_2], [mean]) return ([node], [data_0, data_1, data_2], [mean])
...@@ -3133,7 +3083,8 @@ def multinomial_test(): ...@@ -3133,7 +3083,8 @@ def multinomial_test():
output = helper.make_tensor_value_info("output", TensorProto.INT32, output = helper.make_tensor_value_info("output", TensorProto.INT32,
[1, 10]) [1, 10])
node = onnx.helper.make_node('Multinomial', node = onnx.helper.make_node(
'Multinomial',
inputs=['input'], inputs=['input'],
sample_size=sample_size, sample_size=sample_size,
seed=seed, seed=seed,
...@@ -3149,7 +3100,8 @@ def multinomial_generated_seed_test(): ...@@ -3149,7 +3100,8 @@ def multinomial_generated_seed_test():
output = helper.make_tensor_value_info("output", TensorProto.INT32, output = helper.make_tensor_value_info("output", TensorProto.INT32,
[1, 10]) [1, 10])
node = onnx.helper.make_node('Multinomial', node = onnx.helper.make_node(
'Multinomial',
inputs=['input'], inputs=['input'],
sample_size=sample_size, sample_size=sample_size,
outputs=['output']) outputs=['output'])
...@@ -3165,7 +3117,8 @@ def multinomial_dtype_error_test(): ...@@ -3165,7 +3117,8 @@ def multinomial_dtype_error_test():
output = helper.make_tensor_value_info("output", TensorProto.INT64, output = helper.make_tensor_value_info("output", TensorProto.INT64,
[1, 10]) [1, 10])
node = onnx.helper.make_node('Multinomial', node = onnx.helper.make_node(
'Multinomial',
inputs=['input'], inputs=['input'],
sample_size=sample_size, sample_size=sample_size,
dtype=dtype, dtype=dtype,
...@@ -3183,7 +3136,8 @@ def multinomial_int64_test(): ...@@ -3183,7 +3136,8 @@ def multinomial_int64_test():
output = helper.make_tensor_value_info("output", TensorProto.INT64, output = helper.make_tensor_value_info("output", TensorProto.INT64,
[1, 10]) [1, 10])
node = onnx.helper.make_node('Multinomial', node = onnx.helper.make_node(
'Multinomial',
inputs=['input'], inputs=['input'],
sample_size=sample_size, sample_size=sample_size,
dtype=dtype, dtype=dtype,
...@@ -3216,11 +3170,11 @@ def nms_test(): ...@@ -3216,11 +3170,11 @@ def nms_test():
out = helper.make_tensor_value_info('selected_indices', TensorProto.INT64, out = helper.make_tensor_value_info('selected_indices', TensorProto.INT64,
[6, 3]) [6, 3])
node = onnx.helper.make_node('NonMaxSuppression', node = onnx.helper.make_node(
'NonMaxSuppression',
inputs=[ inputs=[
'boxes', 'scores', 'boxes', 'scores', 'max_output_boxes_per_class', 'iou_threshold',
'max_output_boxes_per_class', 'score_threshold'
'iou_threshold', 'score_threshold'
], ],
outputs=['selected_indices'], outputs=['selected_indices'],
center_point_box=1) center_point_box=1)
...@@ -3253,10 +3207,8 @@ def no_pad_test(): ...@@ -3253,10 +3207,8 @@ def no_pad_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [2, 2]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [2, 2])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [2, 2]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [2, 2])
node = onnx.helper.make_node('Pad', node = onnx.helper.make_node(
inputs=['0'], 'Pad', inputs=['0'], pads=[0, 0, 0, 0], outputs=['1'])
pads=[0, 0, 0, 0],
outputs=['1'])
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3266,9 +3218,8 @@ def nonzero_dynamic_test(): ...@@ -3266,9 +3218,8 @@ def nonzero_dynamic_test():
x = helper.make_tensor_value_info('data', TensorProto.BOOL, [2, 2]) x = helper.make_tensor_value_info('data', TensorProto.BOOL, [2, 2])
y = helper.make_tensor_value_info('indices', TensorProto.INT64, [2, 3]) y = helper.make_tensor_value_info('indices', TensorProto.INT64, [2, 3])
node = onnx.helper.make_node('NonZero', node = onnx.helper.make_node(
inputs=['data'], 'NonZero', inputs=['data'], outputs=['indices'])
outputs=['indices'])
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3276,15 +3227,15 @@ def nonzero_dynamic_test(): ...@@ -3276,15 +3227,15 @@ def nonzero_dynamic_test():
@onnx_test @onnx_test
def nonzero_test(): def nonzero_test():
data1 = np.array([[1., 0.], [1., 1.]]) data1 = np.array([[1., 0.], [1., 1.]])
data = helper.make_tensor(name='data', data = helper.make_tensor(
name='data',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=data1.shape, dims=data1.shape,
vals=data1.flatten().astype(np.float)) vals=data1.flatten().astype(np.float))
y = helper.make_tensor_value_info('indices', TensorProto.INT64, [2, 3]) y = helper.make_tensor_value_info('indices', TensorProto.INT64, [2, 3])
node = onnx.helper.make_node('NonZero', node = onnx.helper.make_node(
inputs=['data'], 'NonZero', inputs=['data'], outputs=['indices'])
outputs=['indices'])
return ([node], [], [y], [data]) return ([node], [], [y], [data])
...@@ -3292,15 +3243,15 @@ def nonzero_test(): ...@@ -3292,15 +3243,15 @@ def nonzero_test():
@onnx_test @onnx_test
def nonzero_int_test(): def nonzero_int_test():
data1 = np.array([[1, 1, 0], [1, 0, 1]]) data1 = np.array([[1, 1, 0], [1, 0, 1]])
data = helper.make_tensor(name='data', data = helper.make_tensor(
name='data',
data_type=TensorProto.INT16, data_type=TensorProto.INT16,
dims=data1.shape, dims=data1.shape,
vals=data1.flatten().astype(np.int16)) vals=data1.flatten().astype(np.int16))
y = helper.make_tensor_value_info('indices', TensorProto.INT64, [2, 4]) y = helper.make_tensor_value_info('indices', TensorProto.INT64, [2, 4])
node = onnx.helper.make_node('NonZero', node = onnx.helper.make_node(
inputs=['data'], 'NonZero', inputs=['data'], outputs=['indices'])
outputs=['indices'])
return ([node], [], [y], [data]) return ([node], [], [y], [data])
...@@ -3314,12 +3265,14 @@ def onehot_test(): ...@@ -3314,12 +3265,14 @@ def onehot_test():
values = helper.make_tensor_value_info("values", TensorProto.FLOAT16, [2]) values = helper.make_tensor_value_info("values", TensorProto.FLOAT16, [2])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT16, [3, 5, 2]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT16, [3, 5, 2])
depth_tensor = helper.make_tensor(name="depth", depth_tensor = helper.make_tensor(
name="depth",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=None, dims=None,
vals=depth.astype(int)) vals=depth.astype(int))
node = onnx.helper.make_node('OneHot', node = onnx.helper.make_node(
'OneHot',
inputs=['indices', 'depth', 'values'], inputs=['indices', 'depth', 'values'],
outputs=['y'], outputs=['y'],
axis=axis_value) axis=axis_value)
...@@ -3332,10 +3285,8 @@ def pad_test(): ...@@ -3332,10 +3285,8 @@ def pad_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [2, 2]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [2, 2])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 4]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 4])
node = onnx.helper.make_node('Pad', node = onnx.helper.make_node(
inputs=['0'], 'Pad', inputs=['0'], pads=[1, 1, 1, 1], outputs=['1'])
pads=[1, 1, 1, 1],
outputs=['1'])
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3343,31 +3294,28 @@ def pad_test(): ...@@ -3343,31 +3294,28 @@ def pad_test():
@onnx_test @onnx_test
def pad_3arg_test(): def pad_3arg_test():
values = np.array([1]) values = np.array([1])
val_tensor = helper.make_tensor(name='val', val_tensor = helper.make_tensor(
name='val',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=values.reshape(()).shape, dims=values.reshape(()).shape,
vals=values.astype(float)) vals=values.astype(float))
arg_val = onnx.helper.make_node('Constant', arg_val = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['arg_val'], value=val_tensor)
outputs=['arg_val'],
value=val_tensor)
sizes = np.array([1, 1, 2, 2]) sizes = np.array([1, 1, 2, 2])
pad_tensor = helper.make_tensor(name='pad_size', pad_tensor = helper.make_tensor(
name='pad_size',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=sizes.shape, dims=sizes.shape,
vals=sizes.astype(int)) vals=sizes.astype(int))
arg_pad = onnx.helper.make_node('Constant', arg_pad = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['arg_pad'], value=pad_tensor)
outputs=['arg_pad'],
value=pad_tensor)
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [2, 2]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [2, 2])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [5, 5]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [5, 5])
node = onnx.helper.make_node('Pad', node = onnx.helper.make_node(
inputs=['0', 'arg_pad', 'arg_val'], 'Pad', inputs=['0', 'arg_pad', 'arg_val'], outputs=['1'])
outputs=['1'])
return ([arg_val, arg_pad, node], [x], [y]) return ([arg_val, arg_pad, node], [x], [y])
...@@ -3378,19 +3326,16 @@ def pad_reflect_test(): ...@@ -3378,19 +3326,16 @@ def pad_reflect_test():
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [2, 5]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [2, 5])
sizes = np.array([0, 2, 0, 1]) sizes = np.array([0, 2, 0, 1])
pad_tensor = helper.make_tensor(name='pad_size', pad_tensor = helper.make_tensor(
name='pad_size',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=sizes.shape, dims=sizes.shape,
vals=sizes.astype(int)) vals=sizes.astype(int))
arg_pad = onnx.helper.make_node('Constant', arg_pad = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['arg_pad'], value=pad_tensor)
outputs=['arg_pad'],
value=pad_tensor)
node = onnx.helper.make_node('Pad', node = onnx.helper.make_node(
mode='reflect', 'Pad', mode='reflect', inputs=['0', 'arg_pad'], outputs=['1'])
inputs=['0', 'arg_pad'],
outputs=['1'])
return ([arg_pad, node], [x], [y]) return ([arg_pad, node], [x], [y])
...@@ -3401,19 +3346,16 @@ def pad_reflect_multiaxis_test(): ...@@ -3401,19 +3346,16 @@ def pad_reflect_multiaxis_test():
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 5]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 5])
sizes = np.array([0, 2, 2, 0]) sizes = np.array([0, 2, 2, 0])
pad_tensor = helper.make_tensor(name='pad_size', pad_tensor = helper.make_tensor(
name='pad_size',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=sizes.shape, dims=sizes.shape,
vals=sizes.astype(int)) vals=sizes.astype(int))
arg_pad = onnx.helper.make_node('Constant', arg_pad = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['arg_pad'], value=pad_tensor)
outputs=['arg_pad'],
value=pad_tensor)
node = onnx.helper.make_node('Pad', node = onnx.helper.make_node(
mode='reflect', 'Pad', mode='reflect', inputs=['0', 'arg_pad'], outputs=['1'])
inputs=['0', 'arg_pad'],
outputs=['1'])
return ([arg_pad, node], [x], [y]) return ([arg_pad, node], [x], [y])
...@@ -3471,15 +3413,13 @@ def prefix_scan_sum_test(): ...@@ -3471,15 +3413,13 @@ def prefix_scan_sum_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 2, 2]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 2, 2])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 2]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 2])
axis_val = np.array([0]) axis_val = np.array([0])
axis_tensor = helper.make_tensor(name="axis", axis_tensor = helper.make_tensor(
name="axis",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=axis_val.shape, dims=axis_val.shape,
vals=axis_val.astype(int)) vals=axis_val.astype(int))
node = onnx.helper.make_node('CumSum', node = onnx.helper.make_node(
inputs=['x', 'axis'], 'CumSum', inputs=['x', 'axis'], outputs=['y'], exclusive=1, reverse=1)
outputs=['y'],
exclusive=1,
reverse=1)
return ([node], [x], [y], [axis_tensor]) return ([node], [x], [y], [axis_tensor])
...@@ -3552,10 +3492,8 @@ def make_quantizelinear_axis_graph(axis): ...@@ -3552,10 +3492,8 @@ def make_quantizelinear_axis_graph(axis):
arg_out = helper.make_tensor_value_info('out', TensorProto.INT8, arg_out = helper.make_tensor_value_info('out', TensorProto.INT8,
[1, 1, 5, 1]) [1, 1, 5, 1])
node = onnx.helper.make_node('QuantizeLinear', node = onnx.helper.make_node(
inputs=['0', '1', '2'], 'QuantizeLinear', inputs=['0', '1', '2'], outputs=['out'], axis=axis)
outputs=['out'],
axis=axis)
return ([node], [arg0, arg1, arg2], [arg_out]) return ([node], [arg0, arg1, arg2], [arg_out])
...@@ -3580,7 +3518,8 @@ def randomnormal_test(): ...@@ -3580,7 +3518,8 @@ def randomnormal_test():
output = helper.make_tensor_value_info('output', TensorProto.DOUBLE, output = helper.make_tensor_value_info('output', TensorProto.DOUBLE,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomNormal', node = onnx.helper.make_node(
'RandomNormal',
inputs=[], inputs=[],
outputs=['output'], outputs=['output'],
dtype=dtype, dtype=dtype,
...@@ -3599,7 +3538,8 @@ def randomnormal_dtype_error_test(): ...@@ -3599,7 +3538,8 @@ def randomnormal_dtype_error_test():
output = helper.make_tensor_value_info('output', TensorProto.INT32, output = helper.make_tensor_value_info('output', TensorProto.INT32,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomNormal', node = onnx.helper.make_node(
'RandomNormal',
inputs=[], inputs=[],
outputs=['output'], outputs=['output'],
dtype=dtype, dtype=dtype,
...@@ -3615,7 +3555,8 @@ def randomnormal_generated_seed_test(): ...@@ -3615,7 +3555,8 @@ def randomnormal_generated_seed_test():
output = helper.make_tensor_value_info("output", TensorProto.INT32, output = helper.make_tensor_value_info("output", TensorProto.INT32,
[1, 10]) [1, 10])
node = onnx.helper.make_node('RandomNormal', node = onnx.helper.make_node(
'RandomNormal',
inputs=['input'], inputs=['input'],
sample_size=sample_size, sample_size=sample_size,
outputs=['output']) outputs=['output'])
...@@ -3629,10 +3570,8 @@ def randomnormal_shape_error_test(): ...@@ -3629,10 +3570,8 @@ def randomnormal_shape_error_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomNormal', node = onnx.helper.make_node(
inputs=[], 'RandomNormal', inputs=[], outputs=['output'], dtype=dtype)
outputs=['output'],
dtype=dtype)
return ([node], [], [output]) return ([node], [], [output])
...@@ -3648,7 +3587,8 @@ def randomnormallike_test(): ...@@ -3648,7 +3587,8 @@ def randomnormallike_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT16, output = helper.make_tensor_value_info('output', TensorProto.FLOAT16,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomNormalLike', node = onnx.helper.make_node(
'RandomNormalLike',
inputs=['input'], inputs=['input'],
outputs=['output'], outputs=['output'],
dtype=dtype, dtype=dtype,
...@@ -3667,10 +3607,8 @@ def randomnormallike_type_error_test(): ...@@ -3667,10 +3607,8 @@ def randomnormallike_type_error_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomNormalLike', node = onnx.helper.make_node(
inputs=['input'], 'RandomNormalLike', inputs=['input'], outputs=['output'], seed=seed)
outputs=['output'],
seed=seed)
return ([node], [input], [output]) return ([node], [input], [output])
...@@ -3685,7 +3623,8 @@ def randomuniform_test(): ...@@ -3685,7 +3623,8 @@ def randomuniform_test():
output = helper.make_tensor_value_info('output', TensorProto.DOUBLE, output = helper.make_tensor_value_info('output', TensorProto.DOUBLE,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomUniform', node = onnx.helper.make_node(
'RandomUniform',
inputs=[], inputs=[],
outputs=['output'], outputs=['output'],
dtype=dtype, dtype=dtype,
...@@ -3704,7 +3643,8 @@ def randomuniform_dtype_error_test(): ...@@ -3704,7 +3643,8 @@ def randomuniform_dtype_error_test():
output = helper.make_tensor_value_info('output', TensorProto.INT32, output = helper.make_tensor_value_info('output', TensorProto.INT32,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomUniform', node = onnx.helper.make_node(
'RandomUniform',
inputs=[], inputs=[],
outputs=['output'], outputs=['output'],
dtype=dtype, dtype=dtype,
...@@ -3720,7 +3660,8 @@ def randomuniform_generated_seed_test(): ...@@ -3720,7 +3660,8 @@ def randomuniform_generated_seed_test():
output = helper.make_tensor_value_info("output", TensorProto.INT32, output = helper.make_tensor_value_info("output", TensorProto.INT32,
[1, 10]) [1, 10])
node = onnx.helper.make_node('RandomUniform', node = onnx.helper.make_node(
'RandomUniform',
inputs=['input'], inputs=['input'],
sample_size=sample_size, sample_size=sample_size,
outputs=['output']) outputs=['output'])
...@@ -3734,10 +3675,8 @@ def randomuniform_shape_error_test(): ...@@ -3734,10 +3675,8 @@ def randomuniform_shape_error_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomUniform', node = onnx.helper.make_node(
inputs=[], 'RandomUniform', inputs=[], outputs=['output'], dtype=dtype)
outputs=['output'],
dtype=dtype)
return ([node], [], [output]) return ([node], [], [output])
...@@ -3753,7 +3692,8 @@ def randomuniformlike_test(): ...@@ -3753,7 +3692,8 @@ def randomuniformlike_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT16, output = helper.make_tensor_value_info('output', TensorProto.FLOAT16,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomUniformLike', node = onnx.helper.make_node(
'RandomUniformLike',
inputs=['input'], inputs=['input'],
outputs=['output'], outputs=['output'],
dtype=dtype, dtype=dtype,
...@@ -3772,10 +3712,8 @@ def randomuniformlike_type_error_test(): ...@@ -3772,10 +3712,8 @@ def randomuniformlike_type_error_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 3, 4]) [2, 3, 4])
node = onnx.helper.make_node('RandomUniformLike', node = onnx.helper.make_node(
inputs=['input'], 'RandomUniformLike', inputs=['input'], outputs=['output'], seed=seed)
outputs=['output'],
seed=seed)
return ([node], [input], [output]) return ([node], [input], [output])
...@@ -3787,36 +3725,32 @@ def range_test(): ...@@ -3787,36 +3725,32 @@ def range_test():
limit_val = np.array([6]) limit_val = np.array([6])
delta_val = np.array([-3]) delta_val = np.array([-3])
start_tensor = helper.make_tensor(name='start_val', start_tensor = helper.make_tensor(
name='start_val',
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=start_val.reshape(()).shape, dims=start_val.reshape(()).shape,
vals=start_val.astype(np.int64)) vals=start_val.astype(np.int64))
start = onnx.helper.make_node('Constant', start = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['start'], value=start_tensor)
outputs=['start'],
value=start_tensor)
limit_tensor = helper.make_tensor(name='limit_val', limit_tensor = helper.make_tensor(
name='limit_val',
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=limit_val.reshape(()).shape, dims=limit_val.reshape(()).shape,
vals=limit_val.astype(np.int64)) vals=limit_val.astype(np.int64))
limit = onnx.helper.make_node('Constant', limit = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['limit'], value=limit_tensor)
outputs=['limit'],
value=limit_tensor)
delta_tensor = helper.make_tensor(name='delta_val', delta_tensor = helper.make_tensor(
name='delta_val',
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=delta_val.reshape(()).shape, dims=delta_val.reshape(()).shape,
vals=delta_val.astype(np.int64)) vals=delta_val.astype(np.int64))
delta = onnx.helper.make_node('Constant', delta = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['delta'], value=delta_tensor)
outputs=['delta'],
value=delta_tensor)
node = onnx.helper.make_node('Range', node = onnx.helper.make_node(
inputs=['start', 'limit', 'delta'], 'Range', inputs=['start', 'limit', 'delta'], outputs=['1'])
outputs=['1'])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3])
...@@ -3830,36 +3764,32 @@ def range_float_test(): ...@@ -3830,36 +3764,32 @@ def range_float_test():
limit_val = np.array([11]) limit_val = np.array([11])
delta_val = np.array([2]) delta_val = np.array([2])
start_tensor = helper.make_tensor(name='start_val', start_tensor = helper.make_tensor(
name='start_val',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=start_val.reshape(()).shape, dims=start_val.reshape(()).shape,
vals=start_val.astype(np.float)) vals=start_val.astype(np.float))
start = onnx.helper.make_node('Constant', start = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['start'], value=start_tensor)
outputs=['start'],
value=start_tensor)
limit_tensor = helper.make_tensor(name='limit_val', limit_tensor = helper.make_tensor(
name='limit_val',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=limit_val.reshape(()).shape, dims=limit_val.reshape(()).shape,
vals=limit_val.astype(np.float)) vals=limit_val.astype(np.float))
limit = onnx.helper.make_node('Constant', limit = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['limit'], value=limit_tensor)
outputs=['limit'],
value=limit_tensor)
delta_tensor = helper.make_tensor(name='delta_val', delta_tensor = helper.make_tensor(
name='delta_val',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=delta_val.reshape(()).shape, dims=delta_val.reshape(()).shape,
vals=delta_val.astype(np.float)) vals=delta_val.astype(np.float))
delta = onnx.helper.make_node('Constant', delta = onnx.helper.make_node(
inputs=[], 'Constant', inputs=[], outputs=['delta'], value=delta_tensor)
outputs=['delta'],
value=delta_tensor)
node = onnx.helper.make_node('Range', node = onnx.helper.make_node(
inputs=['start', 'limit', 'delta'], 'Range', inputs=['start', 'limit', 'delta'], outputs=['1'])
outputs=['1'])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [3])
...@@ -3886,11 +3816,8 @@ def reducel1_test(): ...@@ -3886,11 +3816,8 @@ def reducel1_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6])
axes = [-2] axes = [-2]
node = onnx.helper.make_node('ReduceL1', node = onnx.helper.make_node(
inputs=['x'], 'ReduceL1', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3901,11 +3828,8 @@ def reducel2_test(): ...@@ -3901,11 +3828,8 @@ def reducel2_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 5])
axes = [-1] axes = [-1]
node = onnx.helper.make_node('ReduceL2', node = onnx.helper.make_node(
inputs=['x'], 'ReduceL2', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3916,11 +3840,8 @@ def reduce_log_sum_test(): ...@@ -3916,11 +3840,8 @@ def reduce_log_sum_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 1, 5, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 1, 5, 6])
axes = [-3] axes = [-3]
node = onnx.helper.make_node('ReduceLogSum', node = onnx.helper.make_node(
inputs=['x'], 'ReduceLogSum', inputs=['x'], outputs=['y'], axes=axes, keepdims=1)
outputs=['y'],
axes=axes,
keepdims=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3931,11 +3852,8 @@ def reduce_log_sum_exp_test(): ...@@ -3931,11 +3852,8 @@ def reduce_log_sum_exp_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [4, 5, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [4, 5, 6])
axes = [-4] axes = [-4]
node = onnx.helper.make_node('ReduceLogSumExp', node = onnx.helper.make_node(
inputs=['x'], 'ReduceLogSumExp', inputs=['x'], outputs=['y'], axes=axes, keepdims=1)
outputs=['y'],
axes=axes,
keepdims=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3946,11 +3864,8 @@ def reducemax_test(): ...@@ -3946,11 +3864,8 @@ def reducemax_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6])
axes = [2] axes = [2]
node = onnx.helper.make_node('ReduceMax', node = onnx.helper.make_node(
inputs=['x'], 'ReduceMax', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3961,11 +3876,8 @@ def reducemean_test(): ...@@ -3961,11 +3876,8 @@ def reducemean_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4])
axes = [2, 3] axes = [2, 3]
node = onnx.helper.make_node('ReduceMean', node = onnx.helper.make_node(
inputs=['x'], 'ReduceMean', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3976,11 +3888,8 @@ def reducemean_keepdims_test(): ...@@ -3976,11 +3888,8 @@ def reducemean_keepdims_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6])
axes = [2] axes = [2]
node = onnx.helper.make_node('ReduceMean', node = onnx.helper.make_node(
inputs=['x'], 'ReduceMean', inputs=['x'], outputs=['y'], axes=axes, keepdims=1)
outputs=['y'],
axes=axes,
keepdims=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -3991,11 +3900,8 @@ def reducemin_test(): ...@@ -3991,11 +3900,8 @@ def reducemin_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 1, 5, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 1, 5, 1])
axes = [1, 3] axes = [1, 3]
node = onnx.helper.make_node('ReduceMin', node = onnx.helper.make_node(
inputs=['x'], 'ReduceMin', inputs=['x'], outputs=['y'], axes=axes, keepdims=1)
outputs=['y'],
axes=axes,
keepdims=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4006,11 +3912,8 @@ def reduceprod_test(): ...@@ -4006,11 +3912,8 @@ def reduceprod_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6])
axes = [2] axes = [2]
node = onnx.helper.make_node('ReduceProd', node = onnx.helper.make_node(
inputs=['x'], 'ReduceProd', inputs=['x'], outputs=['y'], axes=axes, keepdims=1)
outputs=['y'],
axes=axes,
keepdims=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4021,11 +3924,8 @@ def reducesum_test(): ...@@ -4021,11 +3924,8 @@ def reducesum_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6])
axes = [2] axes = [2]
node = onnx.helper.make_node('ReduceSum', node = onnx.helper.make_node(
inputs=['x'], 'ReduceSum', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4035,12 +3935,14 @@ def reducesum_empty_axes_test(): ...@@ -4035,12 +3935,14 @@ def reducesum_empty_axes_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6])
axes = np.array([], dtype=np.int64) axes = np.array([], dtype=np.int64)
axes_tensor = helper.make_tensor(name="axes", axes_tensor = helper.make_tensor(
name="axes",
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=axes.shape, dims=axes.shape,
vals=axes.astype(np.int64)) vals=axes.astype(np.int64))
node = onnx.helper.make_node('ReduceSum', node = onnx.helper.make_node(
'ReduceSum',
inputs=['x', 'axes'], inputs=['x', 'axes'],
outputs=['y'], outputs=['y'],
keepdims=0, keepdims=0,
...@@ -4054,12 +3956,14 @@ def reducesum_noop_test(): ...@@ -4054,12 +3956,14 @@ def reducesum_noop_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 4, 5, 6])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 6])
axes = np.array([], dtype=np.int64) axes = np.array([], dtype=np.int64)
axes_tensor = helper.make_tensor(name="axes", axes_tensor = helper.make_tensor(
name="axes",
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=axes.shape, dims=axes.shape,
vals=axes.astype(np.int64)) vals=axes.astype(np.int64))
node = onnx.helper.make_node('ReduceSum', node = onnx.helper.make_node(
'ReduceSum',
inputs=['x', 'axes'], inputs=['x', 'axes'],
outputs=['y'], outputs=['y'],
keepdims=0, keepdims=0,
...@@ -4074,11 +3978,8 @@ def reducesum_keepdims_test(): ...@@ -4074,11 +3978,8 @@ def reducesum_keepdims_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 1])
axes = [2, 3] axes = [2, 3]
node = onnx.helper.make_node('ReduceSum', node = onnx.helper.make_node(
inputs=['x'], 'ReduceSum', inputs=['x'], outputs=['y'], axes=axes, keepdims=1)
outputs=['y'],
axes=axes,
keepdims=1)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4089,11 +3990,8 @@ def reducesum_multiaxis_test(): ...@@ -4089,11 +3990,8 @@ def reducesum_multiaxis_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 1, 1])
axes = [2, 3] axes = [2, 3]
node = onnx.helper.make_node('ReduceSum', node = onnx.helper.make_node(
inputs=['x'], 'ReduceSum', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4104,11 +4002,8 @@ def reducesum_square_test(): ...@@ -4104,11 +4002,8 @@ def reducesum_square_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 4, 6])
axes = [-2] axes = [-2]
node = onnx.helper.make_node('ReduceSumSquare', node = onnx.helper.make_node(
inputs=['x'], 'ReduceSumSquare', inputs=['x'], outputs=['y'], axes=axes, keepdims=0)
outputs=['y'],
axes=axes,
keepdims=0)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4123,10 +4018,8 @@ def reshape_test(): ...@@ -4123,10 +4018,8 @@ def reshape_test():
node = onnx.helper.make_node('Reshape', inputs=['0', '1'], outputs=['2']) node = onnx.helper.make_node('Reshape', inputs=['0', '1'], outputs=['2'])
node2 = onnx.helper.make_node('Reshape', node2 = onnx.helper.make_node(
inputs=['0'], 'Reshape', inputs=['0'], shape=x_shape_list, outputs=['3'])
shape=x_shape_list,
outputs=['3'])
return ([node, node2], [x, x_shape], [y, y2], return ([node, node2], [x, x_shape], [y, y2],
[helper.make_tensor('1', TensorProto.INT64, [2], [3, 8])]) [helper.make_tensor('1', TensorProto.INT64, [2], [3, 8])])
...@@ -4144,10 +4037,8 @@ def reshape_non_standard_test(): ...@@ -4144,10 +4037,8 @@ def reshape_non_standard_test():
perm=[0, 2, 1], perm=[0, 2, 1],
) )
res = onnx.helper.make_node('Reshape', res = onnx.helper.make_node(
inputs=['trans_x'], 'Reshape', inputs=['trans_x'], outputs=['y'], shape=[4, 3, 2])
outputs=['y'],
shape=[4, 3, 2])
return ([trans, res], [x], [y]) return ([trans, res], [x], [y])
...@@ -4155,7 +4046,8 @@ def reshape_non_standard_test(): ...@@ -4155,7 +4046,8 @@ def reshape_non_standard_test():
@onnx_test @onnx_test
def resize_downsample_f_test(): def resize_downsample_f_test():
scales = np.array([1.0, 1.0, 0.6, 0.6], dtype=np.float32) scales = np.array([1.0, 1.0, 0.6, 0.6], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -4177,7 +4069,8 @@ def resize_downsample_f_test(): ...@@ -4177,7 +4069,8 @@ def resize_downsample_f_test():
@onnx_test @onnx_test
def resize_downsample_c_test(): def resize_downsample_c_test():
scales = np.array([1.0, 1.0, 0.6, 0.6], dtype=np.float32) scales = np.array([1.0, 1.0, 0.6, 0.6], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -4185,7 +4078,8 @@ def resize_downsample_c_test(): ...@@ -4185,7 +4078,8 @@ def resize_downsample_c_test():
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 4]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 4])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 1, 2]) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 1, 2])
node = onnx.helper.make_node('Resize', node = onnx.helper.make_node(
'Resize',
inputs=['X', '', 'scales'], inputs=['X', '', 'scales'],
outputs=['Y'], outputs=['Y'],
coordinate_transformation_mode='asymmetric', coordinate_transformation_mode='asymmetric',
...@@ -4198,7 +4092,8 @@ def resize_downsample_c_test(): ...@@ -4198,7 +4092,8 @@ def resize_downsample_c_test():
@onnx_test @onnx_test
def resize_downsample_linear_test(): def resize_downsample_linear_test():
scales = np.array([1.0, 1.0, 0.6, 0.5], dtype=np.float32) scales = np.array([1.0, 1.0, 0.6, 0.5], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -4206,10 +4101,8 @@ def resize_downsample_linear_test(): ...@@ -4206,10 +4101,8 @@ def resize_downsample_linear_test():
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 4]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 4])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, []) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [])
node = onnx.helper.make_node('Resize', node = onnx.helper.make_node(
inputs=['X', '', 'scales'], 'Resize', inputs=['X', '', 'scales'], outputs=['Y'], mode='linear')
outputs=['Y'],
mode='linear')
return ([node], [X], [Y], [scale_tensor]) return ([node], [X], [Y], [scale_tensor])
...@@ -4217,7 +4110,8 @@ def resize_downsample_linear_test(): ...@@ -4217,7 +4110,8 @@ def resize_downsample_linear_test():
@onnx_test @onnx_test
def resize_nonstd_input_test(): def resize_nonstd_input_test():
scales = np.array([1.0, 1.0, 0.6, 0.6], dtype=np.float32) scales = np.array([1.0, 1.0, 0.6, 0.6], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -4225,12 +4119,11 @@ def resize_nonstd_input_test(): ...@@ -4225,12 +4119,11 @@ def resize_nonstd_input_test():
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 4, 2]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 4, 2])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 1, 2]) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 1, 2])
trn = onnx.helper.make_node('Transpose', trn = onnx.helper.make_node(
inputs=['X'], 'Transpose', inputs=['X'], outputs=['TX'], perm=[0, 1, 3, 2])
outputs=['TX'],
perm=[0, 1, 3, 2])
node = onnx.helper.make_node('Resize', node = onnx.helper.make_node(
'Resize',
inputs=['TX', '', 'scales'], inputs=['TX', '', 'scales'],
outputs=['Y'], outputs=['Y'],
coordinate_transformation_mode='asymmetric', coordinate_transformation_mode='asymmetric',
...@@ -4243,11 +4136,11 @@ def resize_nonstd_input_test(): ...@@ -4243,11 +4136,11 @@ def resize_nonstd_input_test():
@onnx_test @onnx_test
def resize_outsize_test(): def resize_outsize_test():
out_lens = np.array([1, 1, 4, 6], dtype=np.int64) out_lens = np.array([1, 1, 4, 6], dtype=np.int64)
out_lens_tensor = helper.make_tensor(name='out_lens', out_lens_tensor = helper.make_tensor(
name='out_lens',
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=out_lens.shape, dims=out_lens.shape,
vals=out_lens.flatten().astype( vals=out_lens.flatten().astype(np.int64))
np.int64))
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 4, 6]) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 4, 6])
...@@ -4266,11 +4159,11 @@ def resize_outsize_test(): ...@@ -4266,11 +4159,11 @@ def resize_outsize_test():
@onnx_test @onnx_test
def resize_upsample_linear_ac_test(): def resize_upsample_linear_ac_test():
scales = np.array([1.0, 1.0, 2.0, 2.0], dtype=np.float32) scales = np.array([1.0, 1.0, 2.0, 2.0], dtype=np.float32)
scales_tensor = helper.make_tensor(name='scales', scales_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype( vals=scales.flatten().astype(np.float32))
np.float32))
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, []) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [])
...@@ -4287,18 +4180,16 @@ def resize_upsample_linear_ac_test(): ...@@ -4287,18 +4180,16 @@ def resize_upsample_linear_ac_test():
@onnx_test @onnx_test
def resize_upsample_linear_test(): def resize_upsample_linear_test():
scales = np.array([1.0, 1.0, 2.0, 2.0], dtype=np.float32) scales = np.array([1.0, 1.0, 2.0, 2.0], dtype=np.float32)
scales_tensor = helper.make_tensor(name='scales', scales_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype( vals=scales.flatten().astype(np.float32))
np.float32))
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, []) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [])
node = onnx.helper.make_node('Resize', node = onnx.helper.make_node(
inputs=['X', '', 'scales'], 'Resize', inputs=['X', '', 'scales'], outputs=['Y'], mode='linear')
outputs=['Y'],
mode='linear')
return ([node], [X], [Y], [scales_tensor]) return ([node], [X], [Y], [scales_tensor])
...@@ -4306,7 +4197,8 @@ def resize_upsample_linear_test(): ...@@ -4306,7 +4197,8 @@ def resize_upsample_linear_test():
@onnx_test @onnx_test
def resize_upsample_pf_test(): def resize_upsample_pf_test():
scales = np.array([1.0, 1.0, 2.0, 3.0], dtype=np.float32) scales = np.array([1.0, 1.0, 2.0, 3.0], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -4314,10 +4206,8 @@ def resize_upsample_pf_test(): ...@@ -4314,10 +4206,8 @@ def resize_upsample_pf_test():
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 4, 6]) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [1, 1, 4, 6])
node = onnx.helper.make_node('Resize', node = onnx.helper.make_node(
inputs=['X', '', 'scales'], 'Resize', inputs=['X', '', 'scales'], outputs=['Y'], mode='nearest')
outputs=['Y'],
mode='nearest')
return ([node], [X], [Y], [scale_tensor]) return ([node], [X], [Y], [scale_tensor])
...@@ -4325,7 +4215,8 @@ def resize_upsample_pf_test(): ...@@ -4325,7 +4215,8 @@ def resize_upsample_pf_test():
@onnx_test @onnx_test
def resize_upsample_pc_test(): def resize_upsample_pc_test():
scales = np.array([1.0, 1.0, 2.0, 1.5], dtype=np.float32) scales = np.array([1.0, 1.0, 2.0, 1.5], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -4352,9 +4243,8 @@ def roialign_default_test(): ...@@ -4352,9 +4243,8 @@ def roialign_default_test():
bi = helper.make_tensor_value_info('batch_ind', TensorProto.INT64, [8]) bi = helper.make_tensor_value_info('batch_ind', TensorProto.INT64, [8])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [8, 4, 1, 1]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [8, 4, 1, 1])
node = onnx.helper.make_node('RoiAlign', node = onnx.helper.make_node(
inputs=['x', 'rois', 'batch_ind'], 'RoiAlign', inputs=['x', 'rois', 'batch_ind'], outputs=['y'])
outputs=['y'])
return ([node], [x, roi, bi], [y]) return ([node], [x, roi, bi], [y])
...@@ -4450,7 +4340,8 @@ def scatternd_add_test(): ...@@ -4450,7 +4340,8 @@ def scatternd_add_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 2, 2]) [2, 2, 2])
node = onnx.helper.make_node('ScatterND', node = onnx.helper.make_node(
'ScatterND',
inputs=['data', 'indices', 'updates'], inputs=['data', 'indices', 'updates'],
outputs=['output'], outputs=['output'],
reduction="add") reduction="add")
...@@ -4468,7 +4359,8 @@ def scatternd_mul_test(): ...@@ -4468,7 +4359,8 @@ def scatternd_mul_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 2, 2]) [2, 2, 2])
node = onnx.helper.make_node('ScatterND', node = onnx.helper.make_node(
'ScatterND',
inputs=['data', 'indices', 'updates'], inputs=['data', 'indices', 'updates'],
outputs=['output'], outputs=['output'],
reduction="mul") reduction="mul")
...@@ -4486,9 +4378,8 @@ def scatternd_test(): ...@@ -4486,9 +4378,8 @@ def scatternd_test():
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, output = helper.make_tensor_value_info('output', TensorProto.FLOAT,
[2, 2, 2]) [2, 2, 2])
node = onnx.helper.make_node('ScatterND', node = onnx.helper.make_node(
inputs=['data', 'indices', 'updates'], 'ScatterND', inputs=['data', 'indices', 'updates'], outputs=['output'])
outputs=['output'])
return ([node], [data, indices, updates], [output]) return ([node], [data, indices, updates], [output])
...@@ -4498,11 +4389,8 @@ def selu_test(): ...@@ -4498,11 +4389,8 @@ def selu_test():
x = helper.make_tensor_value_info('x', TensorProto.DOUBLE, [2, 3]) x = helper.make_tensor_value_info('x', TensorProto.DOUBLE, [2, 3])
y = helper.make_tensor_value_info('y', TensorProto.DOUBLE, [2, 3]) y = helper.make_tensor_value_info('y', TensorProto.DOUBLE, [2, 3])
node = onnx.helper.make_node('Selu', node = onnx.helper.make_node(
inputs=['x'], 'Selu', inputs=['x'], outputs=['y'], alpha=0.3, gamma=0.5)
outputs=['y'],
alpha=0.3,
gamma=0.5)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -4528,7 +4416,8 @@ def shape_gather_test(): ...@@ -4528,7 +4416,8 @@ def shape_gather_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [7, 3, 10]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [7, 3, 10])
z = helper.make_tensor_value_info('z', TensorProto.FLOAT, [1]) z = helper.make_tensor_value_info('z', TensorProto.FLOAT, [1])
value_tensor = helper.make_tensor(name='const_tensor', value_tensor = helper.make_tensor(
name='const_tensor',
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=values.shape, dims=values.shape,
vals=values.flatten().astype(int)) vals=values.flatten().astype(int))
...@@ -4651,7 +4540,8 @@ def slice_test(): ...@@ -4651,7 +4540,8 @@ def slice_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3, 2]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [3, 2])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 2]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [1, 2])
node = onnx.helper.make_node('Slice', node = onnx.helper.make_node(
'Slice',
inputs=['0'], inputs=['0'],
axes=[0, 1], axes=[0, 1],
starts=[1, 0], starts=[1, 0],
...@@ -4666,29 +4556,26 @@ def slice_3arg_test(): ...@@ -4666,29 +4556,26 @@ def slice_3arg_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [2, 5]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [2, 5])
start = np.array([0, 0]) start = np.array([0, 0])
start_tensor = helper.make_tensor(name="start", start_tensor = helper.make_tensor(
name="start",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=start.shape, dims=start.shape,
vals=start.astype(int)) vals=start.astype(int))
arg_start = helper.make_node("Constant", arg_start = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_start'], value=start_tensor)
outputs=['arg_start'],
value=start_tensor)
end = np.array([2, 5]) end = np.array([2, 5])
end_tensor = helper.make_tensor(name="end", end_tensor = helper.make_tensor(
name="end",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=end.shape, dims=end.shape,
vals=end.astype(int)) vals=end.astype(int))
arg_end = helper.make_node("Constant", arg_end = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_end'], value=end_tensor)
outputs=['arg_end'],
value=end_tensor)
node = onnx.helper.make_node('Slice', node = onnx.helper.make_node(
inputs=['0', 'arg_start', 'arg_end'], 'Slice', inputs=['0', 'arg_start', 'arg_end'], outputs=['1'])
outputs=['1'])
return ([arg_start, arg_end, node], [x], [y]) return ([arg_start, arg_end, node], [x], [y])
...@@ -4696,44 +4583,40 @@ def slice_3arg_test(): ...@@ -4696,44 +4583,40 @@ def slice_3arg_test():
@onnx_test @onnx_test
def slice_5arg_test(): def slice_5arg_test():
step = np.array([1, 1]) step = np.array([1, 1])
step_tensor = helper.make_tensor(name="step", step_tensor = helper.make_tensor(
name="step",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=step.shape, dims=step.shape,
vals=step.astype(int)) vals=step.astype(int))
arg_step = helper.make_node("Constant", arg_step = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_step'], value=step_tensor)
outputs=['arg_step'],
value=step_tensor)
axis = np.array([-1, -2]) axis = np.array([-1, -2])
axis_tensor = helper.make_tensor(name="axis", axis_tensor = helper.make_tensor(
name="axis",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=axis.shape, dims=axis.shape,
vals=axis.astype(int)) vals=axis.astype(int))
arg_axis = helper.make_node("Constant", arg_axis = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_axis'], value=axis_tensor)
outputs=['arg_axis'],
value=axis_tensor)
end = np.array([-1, -1]) end = np.array([-1, -1])
end_tensor = helper.make_tensor(name="end", end_tensor = helper.make_tensor(
name="end",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=end.shape, dims=end.shape,
vals=end.astype(int)) vals=end.astype(int))
arg_end = helper.make_node("Constant", arg_end = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_end'], value=end_tensor)
outputs=['arg_end'],
value=end_tensor)
start = np.array([-5, -3]) start = np.array([-5, -3])
start_tensor = helper.make_tensor(name="start", start_tensor = helper.make_tensor(
name="start",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=start.shape, dims=start.shape,
vals=start.astype(int)) vals=start.astype(int))
arg_start = helper.make_node("Constant", arg_start = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_start'], value=start_tensor)
outputs=['arg_start'],
value=start_tensor)
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 2]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 2])
...@@ -4749,44 +4632,40 @@ def slice_5arg_test(): ...@@ -4749,44 +4632,40 @@ def slice_5arg_test():
@onnx_test @onnx_test
def slice_5arg_reverse_test(): def slice_5arg_reverse_test():
step = np.array([-1, 1]) step = np.array([-1, 1])
step_tensor = helper.make_tensor(name="step", step_tensor = helper.make_tensor(
name="step",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=step.shape, dims=step.shape,
vals=step.astype(int)) vals=step.astype(int))
arg_step = helper.make_node("Constant", arg_step = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_step'], value=step_tensor)
outputs=['arg_step'],
value=step_tensor)
axis = np.array([-1, -2]) axis = np.array([-1, -2])
axis_tensor = helper.make_tensor(name="axis", axis_tensor = helper.make_tensor(
name="axis",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=axis.shape, dims=axis.shape,
vals=axis.astype(int)) vals=axis.astype(int))
arg_axis = helper.make_node("Constant", arg_axis = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_axis'], value=axis_tensor)
outputs=['arg_axis'],
value=axis_tensor)
end = np.array([-5, -1]) end = np.array([-5, -1])
end_tensor = helper.make_tensor(name="end", end_tensor = helper.make_tensor(
name="end",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=end.shape, dims=end.shape,
vals=end.astype(int)) vals=end.astype(int))
arg_end = helper.make_node("Constant", arg_end = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_end'], value=end_tensor)
outputs=['arg_end'],
value=end_tensor)
start = np.array([-1, -3]) start = np.array([-1, -3])
start_tensor = helper.make_tensor(name="start", start_tensor = helper.make_tensor(
name="start",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=start.shape, dims=start.shape,
vals=start.astype(int)) vals=start.astype(int))
arg_start = helper.make_node("Constant", arg_start = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_start'], value=start_tensor)
outputs=['arg_start'],
value=start_tensor)
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 2]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 2])
...@@ -4802,44 +4681,40 @@ def slice_5arg_reverse_test(): ...@@ -4802,44 +4681,40 @@ def slice_5arg_reverse_test():
@onnx_test @onnx_test
def slice_5arg_step_test(): def slice_5arg_step_test():
step = np.array([-2, 2]) step = np.array([-2, 2])
step_tensor = helper.make_tensor(name="step", step_tensor = helper.make_tensor(
name="step",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=step.shape, dims=step.shape,
vals=step.astype(int)) vals=step.astype(int))
arg_step = helper.make_node("Constant", arg_step = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_step'], value=step_tensor)
outputs=['arg_step'],
value=step_tensor)
axis = np.array([-1, -2]) axis = np.array([-1, -2])
axis_tensor = helper.make_tensor(name="axis", axis_tensor = helper.make_tensor(
name="axis",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=axis.shape, dims=axis.shape,
vals=axis.astype(int)) vals=axis.astype(int))
arg_axis = helper.make_node("Constant", arg_axis = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_axis'], value=axis_tensor)
outputs=['arg_axis'],
value=axis_tensor)
end = np.array([-5, -1]) end = np.array([-5, -1])
end_tensor = helper.make_tensor(name="end", end_tensor = helper.make_tensor(
name="end",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=end.shape, dims=end.shape,
vals=end.astype(int)) vals=end.astype(int))
arg_end = helper.make_node("Constant", arg_end = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_end'], value=end_tensor)
outputs=['arg_end'],
value=end_tensor)
start = np.array([-1, -3]) start = np.array([-1, -3])
start_tensor = helper.make_tensor(name="start", start_tensor = helper.make_tensor(
name="start",
data_type=TensorProto.INT32, data_type=TensorProto.INT32,
dims=start.shape, dims=start.shape,
vals=start.astype(int)) vals=start.astype(int))
arg_start = helper.make_node("Constant", arg_start = helper.make_node(
inputs=[], "Constant", inputs=[], outputs=['arg_start'], value=start_tensor)
outputs=['arg_start'],
value=start_tensor)
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [5, 5])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 2]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [4, 2])
...@@ -4857,7 +4732,8 @@ def slice_max_end_test(): ...@@ -4857,7 +4732,8 @@ def slice_max_end_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [10, 20]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [10, 20])
y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [9, 17]) y = helper.make_tensor_value_info('1', TensorProto.FLOAT, [9, 17])
node = onnx.helper.make_node('Slice', node = onnx.helper.make_node(
'Slice',
inputs=['0'], inputs=['0'],
axes=[0, 1], axes=[0, 1],
starts=[1, 2], starts=[1, 2],
...@@ -4882,7 +4758,8 @@ def softmax_nonstd_input_test(): ...@@ -4882,7 +4758,8 @@ def softmax_nonstd_input_test():
x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [6, 8]) x = helper.make_tensor_value_info('0', TensorProto.FLOAT, [6, 8])
y = helper.make_tensor_value_info('2', TensorProto.FLOAT, [3, 4]) y = helper.make_tensor_value_info('2', TensorProto.FLOAT, [3, 4])
node0 = onnx.helper.make_node('Slice', node0 = onnx.helper.make_node(
'Slice',
inputs=['0'], inputs=['0'],
axes=[0, 1], axes=[0, 1],
starts=[1, 0], starts=[1, 0],
...@@ -4956,7 +4833,8 @@ def split_test(): ...@@ -4956,7 +4833,8 @@ def split_test():
y2 = helper.make_tensor_value_info('y2', TensorProto.FLOAT, [10, 4]) y2 = helper.make_tensor_value_info('y2', TensorProto.FLOAT, [10, 4])
y3 = helper.make_tensor_value_info('y3', TensorProto.FLOAT, [10, 4]) y3 = helper.make_tensor_value_info('y3', TensorProto.FLOAT, [10, 4])
node = onnx.helper.make_node('Split', node = onnx.helper.make_node(
'Split',
inputs=['x'], inputs=['x'],
outputs=['y1', 'y2', 'y3'], outputs=['y1', 'y2', 'y3'],
axis=1, axis=1,
...@@ -4999,14 +4877,14 @@ def squeeze_axes_input_test(): ...@@ -4999,14 +4877,14 @@ def squeeze_axes_input_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 1, 5, 1]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 1, 5, 1])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 5])
axes = np.array([1, 3], dtype=np.int64) axes = np.array([1, 3], dtype=np.int64)
axes_tensor = helper.make_tensor(name="axes", axes_tensor = helper.make_tensor(
name="axes",
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=axes.shape, dims=axes.shape,
vals=axes.astype(np.int64)) vals=axes.astype(np.int64))
node = onnx.helper.make_node('Squeeze', node = onnx.helper.make_node(
inputs=['x', 'axes'], 'Squeeze', inputs=['x', 'axes'], outputs=['y'])
outputs=['y'])
return ([node], [x], [y], [axes_tensor]) return ([node], [x], [y], [axes_tensor])
...@@ -5016,14 +4894,14 @@ def squeeze_empty_axes_test(): ...@@ -5016,14 +4894,14 @@ def squeeze_empty_axes_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 1, 5, 1]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [3, 1, 5, 1])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 5]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [3, 5])
axes = np.array([], dtype=np.int64) axes = np.array([], dtype=np.int64)
axes_tensor = helper.make_tensor(name="axes", axes_tensor = helper.make_tensor(
name="axes",
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=axes.shape, dims=axes.shape,
vals=axes.astype(np.int64)) vals=axes.astype(np.int64))
node = onnx.helper.make_node('Squeeze', node = onnx.helper.make_node(
inputs=['x', 'axes'], 'Squeeze', inputs=['x', 'axes'], outputs=['y'])
outputs=['y'])
return ([node], [x], [y], [axes_tensor]) return ([node], [x], [y], [axes_tensor])
...@@ -5035,15 +4913,11 @@ def squeeze_unsqueeze_test(): ...@@ -5035,15 +4913,11 @@ def squeeze_unsqueeze_test():
y = helper.make_tensor_value_info('2', TensorProto.FLOAT, y = helper.make_tensor_value_info('2', TensorProto.FLOAT,
[1, 1, 3, 1, 2, 1]) [1, 1, 3, 1, 2, 1])
node = onnx.helper.make_node('Squeeze', node = onnx.helper.make_node(
inputs=['0'], 'Squeeze', inputs=['0'], axes=[0, 2, 3, 5], outputs=['1'])
axes=[0, 2, 3, 5],
outputs=['1'])
node2 = onnx.helper.make_node('Unsqueeze', node2 = onnx.helper.make_node(
inputs=['1'], 'Unsqueeze', inputs=['1'], axes=[0, 1, 3, 5], outputs=['2'])
axes=[0, 1, 3, 5],
outputs=['2'])
return ([node, node2], [x], [y]) return ([node, node2], [x], [y])
...@@ -5074,7 +4948,8 @@ def sub_scalar_test(): ...@@ -5074,7 +4948,8 @@ def sub_scalar_test():
arg_out = helper.make_tensor_value_info('out', TensorProto.FLOAT, arg_out = helper.make_tensor_value_info('out', TensorProto.FLOAT,
[2, 3, 4, 5]) [2, 3, 4, 5])
values_tensor = helper.make_tensor(name='const', values_tensor = helper.make_tensor(
name='const',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=values.reshape(()).shape, dims=values.reshape(()).shape,
vals=values.flatten().astype(float)) vals=values.flatten().astype(float))
...@@ -5134,78 +5009,74 @@ def sum_test(): ...@@ -5134,78 +5009,74 @@ def sum_test():
@onnx_test @onnx_test
def sum_type_test(): def sum_type_test():
valb = np.array([1, 0]) valb = np.array([1, 0])
t_bool = helper.make_tensor(name="bool", t_bool = helper.make_tensor(
name="bool",
data_type=TensorProto.BOOL, data_type=TensorProto.BOOL,
dims=valb.shape, dims=valb.shape,
vals=valb.astype(np.bool)) vals=valb.astype(np.bool))
val = np.array([1, 1]) val = np.array([1, 1])
t_int8 = helper.make_tensor(name="int8", t_int8 = helper.make_tensor(
name="int8",
data_type=TensorProto.INT8, data_type=TensorProto.INT8,
dims=val.shape, dims=val.shape,
vals=val.astype(np.int8)) vals=val.astype(np.int8))
t_uint8 = helper.make_tensor(name="uint8", t_uint8 = helper.make_tensor(
name="uint8",
data_type=TensorProto.UINT8, data_type=TensorProto.UINT8,
dims=val.shape, dims=val.shape,
vals=val.astype(np.uint8)) vals=val.astype(np.uint8))
t_uint16 = helper.make_tensor(name="uint16", t_uint16 = helper.make_tensor(
name="uint16",
data_type=TensorProto.UINT16, data_type=TensorProto.UINT16,
dims=val.shape, dims=val.shape,
vals=val.astype(np.uint16)) vals=val.astype(np.uint16))
t_uint32 = helper.make_tensor(name="uint32", t_uint32 = helper.make_tensor(
name="uint32",
data_type=TensorProto.UINT32, data_type=TensorProto.UINT32,
dims=val.shape, dims=val.shape,
vals=val.astype(np.uint32)) vals=val.astype(np.uint32))
t_uint64 = helper.make_tensor(name="uint64", t_uint64 = helper.make_tensor(
name="uint64",
data_type=TensorProto.UINT64, data_type=TensorProto.UINT64,
dims=val.shape, dims=val.shape,
vals=val.astype(np.uint64)) vals=val.astype(np.uint64))
t_double = helper.make_tensor(name="double", t_double = helper.make_tensor(
name="double",
data_type=TensorProto.DOUBLE, data_type=TensorProto.DOUBLE,
dims=val.shape, dims=val.shape,
vals=val.astype(np.float64)) vals=val.astype(np.float64))
valr = np.array([1.5, 2.0]) valr = np.array([1.5, 2.0])
t_raw = helper.make_tensor(name="raw", t_raw = helper.make_tensor(
name="raw",
data_type=TensorProto.DOUBLE, data_type=TensorProto.DOUBLE,
dims=valr.shape, dims=valr.shape,
vals=valr.tobytes(), vals=valr.tobytes(),
raw=True) raw=True)
n_bool = onnx.helper.make_node('Cast', n_bool = onnx.helper.make_node(
inputs=['bool'], 'Cast', inputs=['bool'], outputs=['o_bool'], to=11)
outputs=['o_bool'],
to=11)
n_int8 = onnx.helper.make_node('Cast', n_int8 = onnx.helper.make_node(
inputs=['int8'], 'Cast', inputs=['int8'], outputs=['o_int8'], to=11)
outputs=['o_int8'],
to=11)
n_uint8 = onnx.helper.make_node('Cast', n_uint8 = onnx.helper.make_node(
inputs=['uint8'], 'Cast', inputs=['uint8'], outputs=['o_uint8'], to=11)
outputs=['o_uint8'],
to=11)
n_uint16 = onnx.helper.make_node('Cast', n_uint16 = onnx.helper.make_node(
inputs=['uint16'], 'Cast', inputs=['uint16'], outputs=['o_uint16'], to=11)
outputs=['o_uint16'],
to=11)
n_uint32 = onnx.helper.make_node('Cast', n_uint32 = onnx.helper.make_node(
inputs=['uint32'], 'Cast', inputs=['uint32'], outputs=['o_uint32'], to=11)
outputs=['o_uint32'],
to=11)
n_uint64 = onnx.helper.make_node('Cast', n_uint64 = onnx.helper.make_node(
inputs=['uint64'], 'Cast', inputs=['uint64'], outputs=['o_uint64'], to=11)
outputs=['o_uint64'],
to=11)
node = onnx.helper.make_node( node = onnx.helper.make_node(
'Sum', 'Sum',
...@@ -5218,8 +5089,8 @@ def sum_type_test(): ...@@ -5218,8 +5089,8 @@ def sum_type_test():
y = helper.make_tensor_value_info('out', TensorProto.DOUBLE, [2]) y = helper.make_tensor_value_info('out', TensorProto.DOUBLE, [2])
return ([n_bool, n_int8, n_uint8, n_uint16, n_uint32, n_uint64, return ([n_bool, n_int8, n_uint8, n_uint16, n_uint32, n_uint64, node], [],
node], [], [y], [ [y], [
t_bool, t_int8, t_uint8, t_uint16, t_uint32, t_uint64, t_bool, t_int8, t_uint8, t_uint16, t_uint32, t_uint64,
t_double, t_raw t_double, t_raw
]) ])
...@@ -5258,9 +5129,8 @@ def thresholdedrelu_default_test(): ...@@ -5258,9 +5129,8 @@ def thresholdedrelu_default_test():
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 2, 3]) x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [2, 2, 3])
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 3])
node = onnx.helper.make_node('ThresholdedRelu', node = onnx.helper.make_node(
inputs=['x'], 'ThresholdedRelu', inputs=['x'], outputs=['y'])
outputs=['y'])
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -5271,10 +5141,8 @@ def thresholdedrelu_test(): ...@@ -5271,10 +5141,8 @@ def thresholdedrelu_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 3]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 2, 3])
alpha = 3.0 alpha = 3.0
node = onnx.helper.make_node('ThresholdedRelu', node = onnx.helper.make_node(
inputs=['x'], 'ThresholdedRelu', inputs=['x'], outputs=['y'], alpha=alpha)
outputs=['y'],
alpha=alpha)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -5285,10 +5153,8 @@ def thresholdedrelu_int_test(): ...@@ -5285,10 +5153,8 @@ def thresholdedrelu_int_test():
y = helper.make_tensor_value_info('y', TensorProto.INT32, [2, 2, 3]) y = helper.make_tensor_value_info('y', TensorProto.INT32, [2, 2, 3])
alpha = 3.0 alpha = 3.0
node = onnx.helper.make_node('ThresholdedRelu', node = onnx.helper.make_node(
inputs=['x'], 'ThresholdedRelu', inputs=['x'], outputs=['y'], alpha=alpha)
outputs=['y'],
alpha=alpha)
return ([node], [x], [y]) return ([node], [x], [y])
...@@ -5324,10 +5190,8 @@ def topk_attrk_test(): ...@@ -5324,10 +5190,8 @@ def topk_attrk_test():
ind = helper.make_tensor_value_info('indices', TensorProto.INT64, ind = helper.make_tensor_value_info('indices', TensorProto.INT64,
[2, 2, 3, 2]) [2, 2, 3, 2])
node = onnx.helper.make_node('TopK', node = onnx.helper.make_node(
inputs=['data'], 'TopK', inputs=['data'], outputs=['val', 'indices'], k=2)
outputs=['val', 'indices'],
k=2)
return ([node], [x], [val, ind]) return ([node], [x], [val, ind])
...@@ -5339,12 +5203,14 @@ def topk_neg_axis_test(): ...@@ -5339,12 +5203,14 @@ def topk_neg_axis_test():
ind = helper.make_tensor_value_info('indices', TensorProto.INT64, ind = helper.make_tensor_value_info('indices', TensorProto.INT64,
[3, 3, 5, 6]) [3, 3, 5, 6])
k_tensor = helper.make_tensor(name='k', k_tensor = helper.make_tensor(
name='k',
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=k.shape, dims=k.shape,
vals=k.astype(np.int64)) vals=k.astype(np.int64))
node = onnx.helper.make_node('TopK', node = onnx.helper.make_node(
'TopK',
inputs=['data', 'k'], inputs=['data', 'k'],
outputs=['val', 'indices'], outputs=['val', 'indices'],
axis=-2, axis=-2,
...@@ -5360,12 +5226,14 @@ def topk_test(): ...@@ -5360,12 +5226,14 @@ def topk_test():
ind = helper.make_tensor_value_info('indices', TensorProto.INT64, ind = helper.make_tensor_value_info('indices', TensorProto.INT64,
[2, 4, 3, 2]) [2, 4, 3, 2])
k_tensor = helper.make_tensor(name='k', k_tensor = helper.make_tensor(
name='k',
data_type=TensorProto.INT64, data_type=TensorProto.INT64,
dims=k.shape, dims=k.shape,
vals=k.astype(np.int64)) vals=k.astype(np.int64))
node = onnx.helper.make_node('TopK', node = onnx.helper.make_node(
'TopK',
inputs=['data', 'k'], inputs=['data', 'k'],
outputs=['val', 'indices'], outputs=['val', 'indices'],
largest=0, largest=0,
...@@ -5431,7 +5299,8 @@ def transpose_gather_test(): ...@@ -5431,7 +5299,8 @@ def transpose_gather_test():
perm=[0, 2, 1, 3], perm=[0, 2, 1, 3],
) )
ti = onnx.helper.make_node('Transpose', ti = onnx.helper.make_node(
'Transpose',
inputs=['indices'], inputs=['indices'],
outputs=['tindices'], outputs=['tindices'],
perm=[0, 2, 1, 3]) perm=[0, 2, 1, 3])
...@@ -5481,10 +5350,8 @@ def unknown_aten_test(): ...@@ -5481,10 +5350,8 @@ def unknown_aten_test():
a = helper.make_tensor_value_info('3', TensorProto.FLOAT, [2, 3, 4, 5]) a = helper.make_tensor_value_info('3', TensorProto.FLOAT, [2, 3, 4, 5])
node = onnx.helper.make_node('ATen', node = onnx.helper.make_node(
inputs=['0', '1'], 'ATen', inputs=['0', '1'], outputs=['2'], operator='unknown')
outputs=['2'],
operator='unknown')
return ([node], [x, y], [a]) return ([node], [x, y], [a])
...@@ -5492,18 +5359,16 @@ def unknown_aten_test(): ...@@ -5492,18 +5359,16 @@ def unknown_aten_test():
@onnx_test @onnx_test
def upsample_linear_test(): def upsample_linear_test():
scales = np.array([1.0, 1.0, 2.0, 2.0], dtype=np.float32) scales = np.array([1.0, 1.0, 2.0, 2.0], dtype=np.float32)
scales_tensor = helper.make_tensor(name='scales', scales_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype( vals=scales.flatten().astype(np.float32))
np.float32))
X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2]) X = helper.make_tensor_value_info('X', TensorProto.FLOAT, [1, 1, 2, 2])
Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, []) Y = helper.make_tensor_value_info('Y', TensorProto.FLOAT, [])
node = onnx.helper.make_node('Upsample', node = onnx.helper.make_node(
inputs=['X', '', 'scales'], 'Upsample', inputs=['X', '', 'scales'], outputs=['Y'], mode='linear')
outputs=['Y'],
mode='linear')
return ([node], [X], [Y], [scales_tensor]) return ([node], [X], [Y], [scales_tensor])
...@@ -5511,7 +5376,8 @@ def upsample_linear_test(): ...@@ -5511,7 +5376,8 @@ def upsample_linear_test():
@onnx_test @onnx_test
def upsample_test(): def upsample_test():
scales = np.array([1.0, 1.0, 2.0, 3.0], dtype=np.float32) scales = np.array([1.0, 1.0, 2.0, 3.0], dtype=np.float32)
scale_tensor = helper.make_tensor(name='scales', scale_tensor = helper.make_tensor(
name='scales',
data_type=TensorProto.FLOAT, data_type=TensorProto.FLOAT,
dims=scales.shape, dims=scales.shape,
vals=scales.flatten().astype(np.float32)) vals=scales.flatten().astype(np.float32))
...@@ -5559,8 +5425,7 @@ def where_test(): ...@@ -5559,8 +5425,7 @@ def where_test():
y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 1, 2, 2]) y = helper.make_tensor_value_info('y', TensorProto.FLOAT, [2, 1, 2, 2])
z = helper.make_tensor_value_info('z', TensorProto.FLOAT, [2, 2, 2, 2]) z = helper.make_tensor_value_info('z', TensorProto.FLOAT, [2, 2, 2, 2])
node = onnx.helper.make_node('Where', node = onnx.helper.make_node(
inputs=['c', 'x', 'y'], 'Where', inputs=['c', 'x', 'y'], outputs=['z'])
outputs=['z'])
return ([node], [c, x, y], [z]) return ([node], [c, x, y], [z])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment