This commit is contained in:
@@ -8,3 +8,7 @@ networks/**/outputs
|
||||
networks/**/raptor
|
||||
networks/**/runner
|
||||
networks/**/simulation
|
||||
networks/**/real_image_val
|
||||
networks/**/*.png
|
||||
networks/**/*.jpg
|
||||
networks/**/*.csv
|
||||
|
||||
Binary file not shown.
@@ -1053,6 +1053,92 @@ def reducemean_large_dimension_1024():
|
||||
save_model(model, "reduce_mean/large_dimension_1024", "reduce_mean_large_dimension_1024.onnx")
|
||||
|
||||
|
||||
def make_legacy_reducemean_model(name, shape, output_shape, directory, filename, *, axes, keepdims=1,
|
||||
noop_with_empty_axes=0):
|
||||
"""Create an opset-18 ReduceMean model that lowers to ONNXReduceMeanOp."""
|
||||
X = helper.make_tensor_value_info("X", TensorProto.FLOAT, shape)
|
||||
Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, output_shape)
|
||||
|
||||
initializers = []
|
||||
node_inputs = ["X", ""]
|
||||
if axes is not None:
|
||||
initializers.append(make_int64_initializer("axes", axes))
|
||||
node_inputs = ["X", "axes"]
|
||||
|
||||
node = helper.make_node("ReduceMean", node_inputs, ["Y"],
|
||||
keepdims=keepdims, noop_with_empty_axes=noop_with_empty_axes)
|
||||
graph = helper.make_graph([node], name, [X], [Y], initializer=initializers)
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 18)])
|
||||
save_model(model, directory, filename)
|
||||
|
||||
|
||||
def reducemean_legacy_axis1_keepdims_1():
|
||||
"""Opset-18 ReduceMean over one positive axis, preserving rank."""
|
||||
make_legacy_reducemean_model("reducemean_legacy_axis1_keepdims_1",
|
||||
[2, 3, 4], [2, 1, 4],
|
||||
"reduce_mean/legacy_axis1_keepdims_1",
|
||||
"reduce_mean_legacy_axis1_keepdims_1.onnx",
|
||||
axes=[1], keepdims=1)
|
||||
|
||||
|
||||
def reducemean_legacy_axis1_keepdims_0():
|
||||
"""Opset-18 ReduceMean over one positive axis, dropping the reduced axis."""
|
||||
make_legacy_reducemean_model("reducemean_legacy_axis1_keepdims_0",
|
||||
[2, 3, 4], [2, 4],
|
||||
"reduce_mean/legacy_axis1_keepdims_0",
|
||||
"reduce_mean_legacy_axis1_keepdims_0.onnx",
|
||||
axes=[1], keepdims=0)
|
||||
|
||||
|
||||
def reducemean_legacy_axes_1_2_keepdims_1():
|
||||
"""Opset-18 ReduceMean over multiple positive axes."""
|
||||
make_legacy_reducemean_model("reducemean_legacy_axes_1_2_keepdims_1",
|
||||
[2, 3, 4], [2, 1, 1],
|
||||
"reduce_mean/legacy_axes_1_2_keepdims_1",
|
||||
"reduce_mean_legacy_axes_1_2_keepdims_1.onnx",
|
||||
axes=[1, 2], keepdims=1)
|
||||
|
||||
|
||||
def reducemean_legacy_negative_axis():
|
||||
"""Opset-18 ReduceMean using a negative axis."""
|
||||
make_legacy_reducemean_model("reducemean_legacy_negative_axis",
|
||||
[2, 3, 4], [2, 3, 1],
|
||||
"reduce_mean/legacy_negative_axis",
|
||||
"reduce_mean_legacy_negative_axis.onnx",
|
||||
axes=[-1], keepdims=1)
|
||||
|
||||
|
||||
def reducemean_legacy_reduce_all_keepdims_1():
|
||||
"""Opset-18 ReduceMean over all axes with the optional axes input omitted."""
|
||||
make_legacy_reducemean_model("reducemean_legacy_reduce_all_keepdims_1",
|
||||
[2, 3, 4], [1, 1, 1],
|
||||
"reduce_mean/legacy_reduce_all_keepdims_1",
|
||||
"reduce_mean_legacy_reduce_all_keepdims_1.onnx",
|
||||
axes=None, keepdims=1)
|
||||
|
||||
|
||||
def reducemean_legacy_empty_axes_noop():
|
||||
"""Opset-18 ReduceMean with empty axes and noop_with_empty_axes enabled."""
|
||||
X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [3, 4])
|
||||
Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, [3, 4])
|
||||
axes = make_int64_initializer("axes", [])
|
||||
reduce = helper.make_node("ReduceMean", ["X", "axes"], ["R"],
|
||||
keepdims=1, noop_with_empty_axes=1)
|
||||
relu = helper.make_node("Relu", ["R"], ["Y"])
|
||||
graph = helper.make_graph([reduce, relu], "reducemean_legacy_empty_axes_noop", [X], [Y], initializer=[axes])
|
||||
model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 18)])
|
||||
save_model(model, "reduce_mean/legacy_empty_axes_noop", "reduce_mean_legacy_empty_axes_noop.onnx")
|
||||
|
||||
|
||||
def reducemean_legacy_nchw_spatial():
|
||||
"""Opset-18 ReduceMean over H and W on an NCHW tensor."""
|
||||
make_legacy_reducemean_model("reducemean_legacy_nchw_spatial",
|
||||
[1, 3, 5, 5], [1, 3, 1, 1],
|
||||
"reduce_mean/legacy_nchw_spatial",
|
||||
"reduce_mean_legacy_nchw_spatial.onnx",
|
||||
axes=[2, 3], keepdims=1)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Relu tests
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -1974,6 +2060,13 @@ if __name__ == "__main__":
|
||||
reducemean_4d_spatial_keepdims_0()
|
||||
reducemean_channel_axis_nchw()
|
||||
reducemean_large_dimension_1024()
|
||||
reducemean_legacy_axis1_keepdims_1()
|
||||
reducemean_legacy_axis1_keepdims_0()
|
||||
reducemean_legacy_axes_1_2_keepdims_1()
|
||||
reducemean_legacy_negative_axis()
|
||||
reducemean_legacy_reduce_all_keepdims_1()
|
||||
reducemean_legacy_empty_axes_noop()
|
||||
reducemean_legacy_nchw_spatial()
|
||||
|
||||
print("\nGenerating Relu tests:")
|
||||
relu_basic()
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user