https://circleci.com/gh/sdpython/onnxcustom/tree/master.svg?style=svg Build status Build Status Windows https://codecov.io/gh/sdpython/onnxcustom/branch/master/graph/badge.svg https://badge.fury.io/py/onnxcustom.svg GitHub Issues MIT License Downloads Forks Stars size

onnxcustom: custom ONNX#

https://raw.githubusercontent.com/sdpython/onnxcustom/master/_doc/sphinxdoc/source/phdoc_static/project_ico.png

documentation

Examples, tutorial on how to convert machine learned models into ONNX, implement your own converter or runtime, or even train with ONNX / onnxruntime.

The function check or the command line python -m onnxcustom check checks the module is properly installed and returns processing time for a couple of functions or simply:

import onnxcustom
onnxcustom.check()

The documentation also introduces onnx, onnxruntime for inference and training. The tutorial related to scikit-learn has been merged into sklearn-onnx documentation. Among the tools this package implements, you may find:

  • a tool to convert NVidia Profilder logs into a dataframe,

  • a SGD optimizer similar to what scikit-learn implements but based on onnxruntime-training and able to train an CPU and GPU,

  • functions to manipulate onnx graph.

Installation of onnxruntime-training

onnxruntime-training is only available on Linux. The CPU can be installed with the following instruction.

pip install onnxruntime-training --extra-index-url https://download.onnxruntime.ai/onnxruntime_nightly_cpu.html

Versions using GPU with CUDA or ROCm are available. Check download.onnxruntime.ai to find a specific version. You can use it on Windows inside WSL (Windows Linux Subsystem) or compile it for CPU:

python tools\ci_build\build.py --skip_tests --build_dir .\build\Windows --config Release --build_shared_lib --build_wheel --numpy_version= --cmake_generator="Visual Studio 16 2019" --enable_training --enable_training_ops --enable_training_torch_interop

GPU versions work better on WSL, see Build onnxruntime on WSL (Windows Linux Subsystem). onnxcustom can be installed from pypi.