ONNX源码安装

本文详细介绍了ONNX的安装过程,包括其依赖库的安装,如pybind11、numpy、scipy等,以及解决常见问题的方法,如Python版本冲突和protobuf编译器缺失等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ONNX是facebook提出的一个 Open Neural Network Exchange协议,能够让训练好的模型在不同的框架间进行交互。

ONNX的安装相对来说不是特别麻烦,麻烦的是其依赖库的安装。ONNX依赖于pybind11。

首先依赖库的安装

sudo pip install pytest  #pytest
sudo pip install numpy #numpy
sudo pip install scipy  #scipy

下载pybind11源码

git clone https://github.com/pybind/pybind11.git

 如果你需要eigen库的话,还需要先安装eigen,这里我选择的是无eigen的方式

新建一个编译出来的文件夹

mkdir build
cd build
cmake ..
make -j4
sudo make install

 这里有个问题,如果你同时存在python2.x和python3.x版本的话,默认选择的是python3.x版本的,但是我现在的整个环境是python2.7.12,所以就必须禁用掉Python3.x,大家都说禁用,其实就是让自动寻找方式找不到python3.x。

采用的方式是在/usr/bin中所有找到的python3.x相关的文件都移动到另一个文件夹内,然后开始编译

装好了pybind11之后(源码版本编译ONNX必须手动编译pybind11,使用pip install pybind11并不管用)

编译安装onnx

 

git clone https://github.com/onnx/onnx.git
cd ./onnx
python setup.py build
sudo python setup.py install

这里很有可能会出现cmake提示 Protobuf compiler not found  的问题,因此需要安装合适的protobuf编译器

 

sudo apt-get install  libprotobuf-dev protobuf-compiler

 

转载于:https://www.cnblogs.com/jourluohua/p/10235317.html

### 如何安装ONNX Runtime #### 通过pip安装ONNX Runtime 对于大多数用户而言,最简单的方法是利用`pip`来安装ONNX Runtime。这适用于多种操作系统环境下的Python开发人员。命令如下所示: ```bash pip install onnxruntime ``` 此方法适合于不需要特定硬件加速(如GPU支持)的一般用途[^1]。 #### 安装带有CUDA扩展的预构建二进制包 为了获得更好的性能表现,特别是当目标平台具备NVIDIA GPU时,可以选择安装预先编译好的包含CUDA执行提供者(EP)版本的ONNX Runtime。这些预构建的二进制文件针对不同的编程语言接口进行了优化,并且能够充分利用GPU资源加快计算速度。详情可查阅官方文档中的安装指南[^2]。 #### 在Raspberry Pi上安装ONNX Runtime 对于运行ARM架构处理器的设备,比如Raspberry Pi,尤其是采用armv7l指令集的32位系统来说,由于官方并未直接提供相应的预编译版本,因此可能需要自行编译或寻找社区贡献者的适配版。一位开发者分享了其在树莓派上的安装经验,指出虽然遇到了一些挑战,但最终实现了成功的部署。具体步骤可以参考该作者的文章了解详细的安装流程[^3]。 #### 编译源码以适应特殊需求 如果遇到不兼容的情况或是希望定制化配置,则可以从源代码开始构建ONNX Runtime。需要注意的是,在某些情况下可能会碰到编译错误,例如使用非推荐的编译工具链可能导致未知类型的定义问题。此时应当遵循官方建议的选择合适的编译器来进行操作[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值