ONNX:开放神经网络交换

参考:

        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



转载注明出处!

编辑


你可能感兴趣的:(深度学习)