参考:
GitHub:onnx/onnx
ONNX官网:onnx.ai
开放式神经网络交换(ONNX)是迈向开放式生态系统的第一步,使AI开发人员能够随着项目发展而选择正确的工具。 ONNX为AI模型提供了一个开源格式。 它定义了一个可扩展的计算图模型,以及内置运算符和标准数据类型的定义。 最初专注于推理(评估)所需的功能。
Caffe2,PyTorch,Microsoft Cognitive Toolkit,Apache MXNet和其他工具正在开发ONNX支持。 实现不同框架之间的互操作性并简化从研究到生产的路径将增加AI社区的创新速度。 ONNX处于早期阶段,邀请社区提交反馈并帮助进一步发展ONNX。
总的来说,ONNX 是微软联合多个相关公司一起推动的深度学习模型标准。该标准可以更好地为软件和硬件厂商间提供更好的可交互性。多家公司的支持也利于推动不同框架内部的互操作支持。MMdnn也将支持ONNX格式
#安装(支持conda,以在conda下安装为例:)
1.用conda-forge建立分支:
conda install -c conda-forge onnx
2.从 PyPi 安装 ONNX(注意:设置
environment variable
ONNX_ML=1
for onnx-ml)
pip install onnx
(当然你也可以选择从源代码安装:git clone https://github.com/onnx/onnx.git)
python setup.py install
注意:当在非anaconda环境安装时,在运行pip安装ONNX之前,要确保已经安装了 Protobuff编译器,例如,以Ubuntu为例:
sudo apt-get install protobuf-compiler libprotoc-dev
pip install onnx
3.安装完成后,运行:
python -c "import onnx"
来验证能否工作。请注意,该命令在 source checkout directory 中不起作用; 在这种情况下,你会看到:
ModuleNotFoundError: No module named 'onnx.onnx_cpp2py_export'
此时需要更换另一路径来修复错误
#测试
ONNX用 pytest 作为测试驱动器。为了能运行测试,需要安装pytest:
pip install pytest-cov nbval
pytest完成安装后,运行:
pytest
转载注明出处!
编辑