{"library":"onnxoptimizer","title":"ONNX Optimizer","description":"ONNX Optimizer is a Python library that provides a C++ library for performing arbitrary optimizations on ONNX models, offering a growing list of prepackaged optimization passes. It aims to share optimization work between various ONNX backend implementations, making models more efficient for inference. The project is actively maintained with frequent minor releases, often every few months.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install onnxoptimizer"],"cli":null},"imports":["import onnxoptimizer\noptimized_model = onnxoptimizer.optimize(model)"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import onnx\nimport onnxoptimizer\n\n# Create a dummy ONNX model for demonstration\n# In a real scenario, you would load an existing .onnx file\nfrom onnx import helper\nfrom onnx import TensorProto\n\ngraph_def = helper.make_graph(\n    [\n        helper.make_node(\"Add\", [\"input1\", \"input2\"], [\"output\"]), # Example operation\n    ],\n    \"simple_graph\",\n    [\n        helper.make_tensor_value_info(\"input1\", TensorProto.FLOAT, [1, 2]),\n        helper.make_tensor_value_info(\"input2\", TensorProto.FLOAT, [1, 2]),\n    ],\n    [\n        helper.make_tensor_value_info(\"output\", TensorProto.FLOAT, [1, 2]),\n    ],\n)\n\nmodel = helper.make_model(graph_def, producer_name='test-model')\n\n# Save the dummy model (optional, for verification)\nonnx.save(model, \"original_model.onnx\")\nprint(\"Original model saved to original_model.onnx\")\n\n# Optimize the model\n# You can specify passes, e.g., ['fuse_bn_into_conv']\n# By default, a set of common fusion and elimination passes are used.\noptimized_model = onnxoptimizer.optimize(model)\n\n# Save the optimized model\nonnx.save(optimized_model, \"optimized_model.onnx\")\nprint(\"Optimized model saved to optimized_model.onnx\")\n\n# Optional: Verify the optimized model (requires onnxruntime)\ntry:\n    import onnxruntime as ort\n    sess_options = ort.SessionOptions()\n    _ = ort.InferenceSession(\"optimized_model.onnx\", sess_options)\n    print(\"Optimized model successfully loaded by ONNX Runtime.\")\nexcept ImportError:\n    print(\"onnxruntime not installed. Cannot verify optimized model.\")\nexcept Exception as e:\n    print(f\"Error loading optimized model with ONNX Runtime: {e}\")","lang":"python","description":"This quickstart demonstrates how to load an ONNX model (here, a dummy one is created), apply optimizations using `onnxoptimizer.optimize()`, and then save the resulting optimized model. It also includes an optional step to verify the optimized model using ONNX Runtime.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.3.13","pypi_latest":"0.4.2","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":7,"avg_import_s":0.54,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"onnxoptimizer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"onnxoptimizer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7,"import_time_s":0.35,"mem_mb":14,"disk_size":"193M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"onnxoptimizer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"onnxoptimizer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.8,"import_time_s":0.58,"mem_mb":15.7,"disk_size":"202M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"onnxoptimizer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"onnxoptimizer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.6,"import_time_s":0.86,"mem_mb":17.4,"disk_size":"190M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"onnxoptimizer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"onnxoptimizer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.6,"import_time_s":0.39,"mem_mb":12.6,"disk_size":"190M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"onnxoptimizer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"onnxoptimizer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8,"import_time_s":0.53,"mem_mb":14.8,"disk_size":"203M"}]}}