{"library":"onnxslim","title":"OnnxSlim","description":"OnnxSlim is an open-source toolkit developed by Microsoft for optimizing ONNX (Open Neural Network Exchange) models. It helps reduce model size and improve inference speed through various techniques like node elimination, constant folding, and shape inference. As of version 0.1.91, it is under active development with frequent updates, aiming to provide a robust solution for model deployment.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install onnxslim"],"cli":null},"imports":["from onnxslim.slim import slim"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import onnx\nfrom onnxslim.slim import slim\nimport os\n\n# Create a minimal dummy ONNX model for demonstration\n# In a real-world scenario, you would load your existing model:\n# input_model_path = \"path/to/your/model.onnx\"\n# If you don't have one, this creates a simple Add operation model:\nfrom onnx.helper import make_model, make_node, make_graph, make_tensor_value_info\nfrom onnx import TensorProto\n\ninput_name = 'input'\noutput_name = 'output'\ninput_tensor = make_tensor_value_info(input_name, TensorProto.FLOAT, [1, 2, 3])\noutput_tensor = make_tensor_value_info(output_name, TensorProto.FLOAT, [1, 2, 3])\nnode = make_node('Add', [input_name, input_name], [output_name]) # example: output = input + input\ngraph = make_graph([node], 'simple_add_graph', [input_tensor], [output_tensor])\ndummy_model = make_model(graph, opset_imports=[onnx.helper.make_opsetid(\"\", 13)]) # Opset 13 is common\ninput_model_path = \"dummy_model_to_slim.onnx\"\noutput_model_path = \"dummy_model_slimmed.onnx\"\nonnx.save(dummy_model, input_model_path)\n\nprint(f\"Dummy ONNX model created at {input_model_path}\")\n\ntry:\n    # Perform the slimming\n    slimmed_model_proto = slim(input_model_path)\n    # The 'slim' function returns an ONNX model proto object.\n    # To save it, use onnx.save:\n    onnx.save(slimmed_model_proto, output_model_path)\n    print(f\"Model successfully slimmed and saved to {output_model_path}\")\n\n    # Optional: Load and verify the slimmed model\n    # slimmed_model_loaded = onnx.load(output_model_path)\n    # print(f\"Loaded slimmed model with graph name: {slimmed_model_loaded.graph.name}\")\n\nexcept Exception as e:\n    print(f\"An error occurred during slimming: {e}\")\n\nfinally:\n    # Clean up dummy files\n    if os.path.exists(input_model_path):\n        os.remove(input_model_path)\n    if os.path.exists(output_model_path):\n        os.remove(output_model_path)\n    print(\"Cleaned up dummy ONNX files.\")","lang":"python","description":"This quickstart demonstrates how to load an ONNX model (or create a dummy one for the example) and then use `onnxslim.slim.slim()` to optimize it. The `slim` function returns an ONNX model protocol buffer object, which can then be saved to a new file using `onnx.save()`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"0.1.93","pypi_latest":"0.1.93","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":11.8,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"onnxslim","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":"onnxslim","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11.1,"import_time_s":null,"mem_mb":null,"disk_size":"254M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"onnxslim","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":"onnxslim","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11,"import_time_s":null,"mem_mb":null,"disk_size":"288M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"onnxslim","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":"onnxslim","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11.7,"import_time_s":null,"mem_mb":null,"disk_size":"270M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"onnxslim","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":"onnxslim","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11.6,"import_time_s":null,"mem_mb":null,"disk_size":"269M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"onnxslim","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":"onnxslim","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":13.4,"import_time_s":null,"mem_mb":null,"disk_size":"265M"}]}}