updat ops validations
This commit is contained in:
@@ -80,7 +80,7 @@ def conv_1x1():
|
||||
kernel_shape=[1, 1], strides=[1, 1], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "conv_1x1", [X], [Y], initializer=[W])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "conv/pointwise_1x1", "conv_1x1.onnx")
|
||||
save_model(model, "conv/pointwise_1x1", "conv_pointwise_1x1.onnx")
|
||||
|
||||
|
||||
def conv_same_padding_3x3():
|
||||
@@ -218,6 +218,33 @@ def conv_huge_pointwise_1024_dynamic():
|
||||
save_model(model, "conv/huge_pointwise_1024_dynamic", "conv_huge_pointwise_1024_dynamic.onnx")
|
||||
|
||||
|
||||
def conv_pointwise_tiled_chain():
|
||||
"""Chained pointwise Convs with a tiled intermediate."""
|
||||
X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [1, 1024, 1, 1])
|
||||
Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, [1, 256, 1, 1])
|
||||
rng = np.random.default_rng(79)
|
||||
W1 = numpy_helper.from_array(
|
||||
rng.uniform(-1, 1, (1024, 1024, 1, 1)).astype(np.float32), name="W1")
|
||||
B1 = numpy_helper.from_array(
|
||||
rng.uniform(-1, 1, 1024).astype(np.float32), name="B1")
|
||||
W2 = numpy_helper.from_array(
|
||||
rng.uniform(-1, 1, (256, 1024, 1, 1)).astype(np.float32), name="W2")
|
||||
B2 = numpy_helper.from_array(
|
||||
rng.uniform(-1, 1, 256).astype(np.float32), name="B2")
|
||||
nodes = [
|
||||
helper.make_node("Relu", ["X"], ["X_relu"]),
|
||||
helper.make_node("Conv", ["X_relu", "W1", "B1"], ["hidden"],
|
||||
kernel_shape=[1, 1], strides=[1, 1], pads=[0, 0, 0, 0]),
|
||||
helper.make_node("Relu", ["hidden"], ["hidden_relu"]),
|
||||
helper.make_node("Conv", ["hidden_relu", "W2", "B2"], ["Y"],
|
||||
kernel_shape=[1, 1], strides=[1, 1], pads=[0, 0, 0, 0]),
|
||||
]
|
||||
graph = helper.make_graph(
|
||||
nodes, "conv_pointwise_tiled_chain", [X], [Y], initializer=[W1, B1, W2, B2])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "conv/pointwise_tiled_chain", "conv_pointwise_tiled_chain.onnx")
|
||||
|
||||
|
||||
def conv_large_output_channels_1x1():
|
||||
"""1x1 Conv with modest inputs and very large output channel count."""
|
||||
X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [1, 64, 1, 1])
|
||||
@@ -790,7 +817,7 @@ def maxpool_basic():
|
||||
node = helper.make_node("MaxPool", ["X"], ["Y"], kernel_shape=[2, 2], strides=[1, 1], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "maxpool_basic", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_basic", "maxpool_basic.onnx")
|
||||
save_model(model, "pool/max_basic", "pool_max_basic.onnx")
|
||||
|
||||
|
||||
def maxpool_stride2_multichannel():
|
||||
@@ -800,7 +827,7 @@ def maxpool_stride2_multichannel():
|
||||
node = helper.make_node("MaxPool", ["X"], ["Y"], kernel_shape=[2, 2], strides=[2, 2], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "maxpool_stride2_multichannel", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_stride2_multichannel", "maxpool_stride2_multichannel.onnx")
|
||||
save_model(model, "pool/max_stride2_multichannel", "pool_max_stride2_multichannel.onnx")
|
||||
|
||||
|
||||
def maxpool_same_upper():
|
||||
@@ -810,7 +837,7 @@ def maxpool_same_upper():
|
||||
node = helper.make_node("MaxPool", ["X"], ["Y"], kernel_shape=[3, 3], strides=[2, 2], auto_pad="SAME_UPPER")
|
||||
graph = helper.make_graph([node], "maxpool_same_upper", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_same_upper", "maxpool_same_upper.onnx")
|
||||
save_model(model, "pool/max_same_upper", "pool_max_same_upper.onnx")
|
||||
|
||||
|
||||
def avgpool_basic():
|
||||
@@ -820,7 +847,7 @@ def avgpool_basic():
|
||||
node = helper.make_node("AveragePool", ["X"], ["Y"], kernel_shape=[2, 2], strides=[1, 1], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "avgpool_basic", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_basic", "avgpool_basic.onnx")
|
||||
save_model(model, "pool/avg_basic", "pool_avg_basic.onnx")
|
||||
|
||||
|
||||
def avgpool_explicit_padding():
|
||||
@@ -831,7 +858,7 @@ def avgpool_explicit_padding():
|
||||
kernel_shape=[3, 3], strides=[2, 2], pads=[1, 1, 1, 1], count_include_pad=0)
|
||||
graph = helper.make_graph([node], "avgpool_explicit_padding", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_explicit_padding", "avgpool_explicit_padding.onnx")
|
||||
save_model(model, "pool/avg_explicit_padding", "pool_avg_explicit_padding.onnx")
|
||||
|
||||
|
||||
def avgpool_include_pad():
|
||||
@@ -842,7 +869,7 @@ def avgpool_include_pad():
|
||||
kernel_shape=[3, 3], strides=[2, 2], pads=[1, 1, 1, 1], count_include_pad=1)
|
||||
graph = helper.make_graph([node], "avgpool_include_pad", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_include_pad", "avgpool_include_pad.onnx")
|
||||
save_model(model, "pool/avg_include_pad", "pool_avg_include_pad.onnx")
|
||||
|
||||
|
||||
def maxpool_after_conv():
|
||||
@@ -855,7 +882,7 @@ def maxpool_after_conv():
|
||||
pool = helper.make_node("MaxPool", ["C"], ["Y"], kernel_shape=[2, 2], strides=[2, 2], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([conv, pool], "maxpool_after_conv", [X], [Y], initializer=[W])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_after_conv", "maxpool_after_conv.onnx")
|
||||
save_model(model, "pool/max_after_conv", "pool_max_after_conv.onnx")
|
||||
|
||||
|
||||
def maxpool_ceil_mode():
|
||||
@@ -866,7 +893,7 @@ def maxpool_ceil_mode():
|
||||
kernel_shape=[2, 2], strides=[2, 2], pads=[0, 0, 0, 0], ceil_mode=1)
|
||||
graph = helper.make_graph([node], "maxpool_ceil_mode", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_ceil_mode", "maxpool_ceil_mode.onnx")
|
||||
save_model(model, "pool/max_ceil_mode", "pool_max_ceil_mode.onnx")
|
||||
|
||||
|
||||
def avgpool_ceil_mode():
|
||||
@@ -877,7 +904,7 @@ def avgpool_ceil_mode():
|
||||
kernel_shape=[2, 2], strides=[2, 2], pads=[0, 0, 0, 0], ceil_mode=1)
|
||||
graph = helper.make_graph([node], "avgpool_ceil_mode", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_ceil_mode", "avgpool_ceil_mode.onnx")
|
||||
save_model(model, "pool/avg_ceil_mode", "pool_avg_ceil_mode.onnx")
|
||||
|
||||
|
||||
def maxpool_real_asymmetric_padding():
|
||||
@@ -888,7 +915,7 @@ def maxpool_real_asymmetric_padding():
|
||||
kernel_shape=[3, 3], strides=[1, 2], pads=[0, 1, 2, 1])
|
||||
graph = helper.make_graph([node], "maxpool_real_asymmetric_padding", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_real_asymmetric_padding", "maxpool_real_asymmetric_padding.onnx")
|
||||
save_model(model, "pool/max_real_asymmetric_padding", "pool_max_real_asymmetric_padding.onnx")
|
||||
|
||||
|
||||
def avgpool_real_asymmetric_padding():
|
||||
@@ -899,7 +926,7 @@ def avgpool_real_asymmetric_padding():
|
||||
kernel_shape=[3, 3], strides=[1, 2], pads=[0, 1, 2, 1], count_include_pad=0)
|
||||
graph = helper.make_graph([node], "avgpool_real_asymmetric_padding", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_real_asymmetric_padding", "avgpool_real_asymmetric_padding.onnx")
|
||||
save_model(model, "pool/avg_real_asymmetric_padding", "pool_avg_real_asymmetric_padding.onnx")
|
||||
|
||||
|
||||
def maxpool_non_square_kernel():
|
||||
@@ -910,7 +937,7 @@ def maxpool_non_square_kernel():
|
||||
kernel_shape=[2, 3], strides=[1, 2], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "maxpool_non_square_kernel", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_non_square_kernel", "maxpool_non_square_kernel.onnx")
|
||||
save_model(model, "pool/max_non_square_kernel", "pool_max_non_square_kernel.onnx")
|
||||
|
||||
|
||||
def avgpool_non_uniform_stride():
|
||||
@@ -921,7 +948,7 @@ def avgpool_non_uniform_stride():
|
||||
kernel_shape=[2, 3], strides=[1, 2], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "avgpool_non_uniform_stride", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_non_uniform_stride", "avgpool_non_uniform_stride.onnx")
|
||||
save_model(model, "pool/avg_non_uniform_stride", "pool_avg_non_uniform_stride.onnx")
|
||||
|
||||
|
||||
def maxpool_global_style_kernel_equals_input():
|
||||
@@ -931,7 +958,7 @@ def maxpool_global_style_kernel_equals_input():
|
||||
node = helper.make_node("MaxPool", ["X"], ["Y"], kernel_shape=[4, 4], strides=[1, 1], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "maxpool_global_style_kernel_equals_input", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/max_global_style_kernel_equals_input", "maxpool_global_style_kernel_equals_input.onnx")
|
||||
save_model(model, "pool/max_global_style_kernel_equals_input", "pool_max_global_style_kernel_equals_input.onnx")
|
||||
|
||||
|
||||
def avgpool_large_channels():
|
||||
@@ -941,7 +968,7 @@ def avgpool_large_channels():
|
||||
node = helper.make_node("AveragePool", ["X"], ["Y"], kernel_shape=[2, 2], strides=[1, 1], pads=[0, 0, 0, 0])
|
||||
graph = helper.make_graph([node], "avgpool_large_channels", [X], [Y])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)])
|
||||
save_model(model, "pool/avg_large_channels", "avgpool_large_channels.onnx")
|
||||
save_model(model, "pool/avg_large_channels", "pool_avg_large_channels.onnx")
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -2005,6 +2032,7 @@ if __name__ == "__main__":
|
||||
conv_dynamic()
|
||||
conv_huge_pointwise_1024()
|
||||
conv_huge_pointwise_1024_dynamic()
|
||||
conv_pointwise_tiled_chain()
|
||||
conv_large_output_channels_1x1()
|
||||
conv_large_input_channels_1x1()
|
||||
conv_depthwise_1024_channels()
|
||||
|
||||
Reference in New Issue
Block a user