Commit a8989ece authored by Shucai Xiao's avatar Shucai Xiao
Browse files

clang format

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