机器人与人工智能爱好者论坛

 找回密码
 立即注册

Facebook和微软发布机器学习工具ONNX,PyTorch训练的模型轻松转到Caffe2

查看数: 12310 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-9-9 11:25

正文摘要:

Facebook和微软发布机器学习工具ONNX,PyTorch训练的模型轻松转到Caffe2 2017年09月08日 在科研范畴之外,其他人也在试图将机器学习模型更方便地转换为针对特定设备优化的形式。例如,苹果的CoreML ...

回复

alibaba 发表于 2017-9-9 11:26:28
Open Neural Network Exchange (ONNX)
Open Neural Network Exchange (ONNX) is the first step toward an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Initially we focus on the capabilities needed for inferencing (evaluation).
Caffe2, PyTorch, and Cognitive Toolkit will be supporting ONNX. Enabling interoperability between different frameworks and streamlining the path from research to production will increase the speed of innovation in the AI community. We are an early stage and we invite the community to submit feedback and help us further evolve ONNX.
Folder Structure
  • onnx/: the main folder that all code lies under
    • onnx.proto: the protobuf (v2.6.1) that contains all the structures
    • checker.py: utility to check whether a serialized ONNX proto is legal.
    • defs/: subfolder that defines the ONNX operators.
    • test/: test files

InstallationBinaries
A binary build of ONNX is available from Conda:
conda install -c ezyang onnxDocker
A docker image with ONNX, PyTorch, and Caffe2 is availiable for quickly trying tutorials that use ONNX. Simply run:
docker run -i -t houseroad/onnx-docker /bin/bash
Currently the image only supports CPU computation with GPU support coming soon.
Source
You will need an install of protobuf and numpy to build ONNX. One easy way to get these dependencies is via Anaconda:
# Use conda-forge protobuf, as defaults doesn't come with protocconda install -c conda-forge protobuf numpy
You can then install ONNX from PyPi:
pip install onnx
After installation, run
python -c 'import onnx'
to verify it works. Note that this command does not work from a source checkout directory; in this case you'll see:
ModuleNotFoundError: No module named 'onnx.onnx_cpp2py_export'
Change into another directory to fix this error.
Testing
ONNX uses pytest as test driver. In order to run tests, first you need to install pytest:
pip install pytest-cov
After installing pytest, do
pytest
to run tests.
Development
During development it's convenient to install ONNX in development mode:
git clone --recursive https://github.com/onnx/onnx.gitpip install -e onnx/
Then, after you have made changes to
  • Python files, the changes are immediately effective in your installation, you do not need to install again.
  • C++ files, you need to do install again to trigger the native extension build.
License

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2025-2-23 01:12 , Processed in 0.065939 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表