import sys
try:
import onnx
from onnx import helper, TensorProto, numpy_helper
import numpy as np
except ImportError:
print("Error: Required packages not installed.")
print("Please run: pip install onnx numpy")
sys.exit(1)
def create_simple_identity_model():
input_tensor = helper.make_tensor_value_info('data', TensorProto.FLOAT, [1, 10])
output_tensor = helper.make_tensor_value_info('output', TensorProto.FLOAT, [1, 10])
node = helper.make_node(
'Identity',
inputs=['data'],
outputs=['output'],
name='identity_node'
)
graph = helper.make_graph(
nodes=[node],
name='SimpleIdentityModel',
inputs=[input_tensor],
outputs=[output_tensor]
)
model = helper.make_model(graph, producer_name='ronn-test-fixture')
model.opset_import[0].version = 13
model.ir_version = 8
try:
onnx.checker.check_model(model)
print("[OK] Model validation passed")
except Exception as e:
print(f"[ERROR] Model validation failed: {e}")
return None
return model
def create_simple_add_model():
input_tensor = helper.make_tensor_value_info('data', TensorProto.FLOAT, [1, 10])
output_tensor = helper.make_tensor_value_info('output', TensorProto.FLOAT, [1, 10])
constant_value = np.array([1.0], dtype=np.float32)
constant_tensor = numpy_helper.from_array(constant_value, name='constant')
node = helper.make_node(
'Add',
inputs=['data', 'constant'],
outputs=['output'],
name='add_node'
)
graph = helper.make_graph(
nodes=[node],
name='SimpleAddModel',
inputs=[input_tensor],
outputs=[output_tensor],
initializer=[constant_tensor]
)
model = helper.make_model(graph, producer_name='ronn-test-fixture')
model.opset_import[0].version = 13
model.ir_version = 8
try:
onnx.checker.check_model(model)
print("[OK] Model validation passed")
except Exception as e:
print(f"[ERROR] Model validation failed: {e}")
return None
return model
def main():
print("Creating ONNX test fixtures for ronn-api...\n")
print("1. Creating simple_model.onnx (Identity operation)...")
model = create_simple_identity_model()
if model:
onnx.save(model, 'simple_model.onnx')
import os
size = os.path.getsize('simple_model.onnx')
print(f" [OK] Saved simple_model.onnx ({size} bytes)\n")
else:
print(" [ERROR] Failed to create simple_model.onnx\n")
return 1
print("2. Creating add_model.onnx (Add operation)...")
model = create_simple_add_model()
if model:
onnx.save(model, 'add_model.onnx')
import os
size = os.path.getsize('add_model.onnx')
print(f" [OK] Saved add_model.onnx ({size} bytes)\n")
else:
print(" [ERROR] Failed to create add_model.onnx\n")
print("[SUCCESS] Test fixtures created successfully!")
print("\nTo run tests with fixtures:")
print(" cd crates/ronn-api")
print(" cargo test -- --include-ignored")
return 0
if __name__ == '__main__':
sys.exit(main())