树莓派4b(armv8) 64位系统编译安装onnx

本文详细描述了如何在最新版树莓派4b(armv8架构,Python3.9)上编译安装ONNX,包括检查CPU版本、安装依赖如pytest、numpy和scipy,以及手动编译pybind11和ONNX的过程,解决`setup.py`弃用问题。
摘要由CSDN通过智能技术生成

网上大部分树莓派安装onnx的都是基于树莓派3b的,或者说基于armv7架构的。
本文记录一下如何在最新的树莓派4b系统(armv8、python3.9)上编译安装onnx的过程。

1. 查看ARM CPU版本

1.1 方式1

cat /proc/version

获取当前系统的内核版本号及系统名称

pi@raspberrypi:~/Downloads/pybind11/build $ cat /proc/version
Linux version 6.1.21-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023

1.2 方式2

uname -a

获取当前系统的内核版本及系统名称

pi@raspberrypi:~/Downloads/pybind11/build $ uname -a 
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

可以看到我的cpu版本是armv8

1.3 ARMv7架构

如果是armv7架构的直接看这个教程
how to install onnxruntime on raspberry pi 4
或者直接从下面的github中的wheels找到别人已经预编译好的onnx库
ONNX预编译库
下载到树莓派后直接安装

pip3 install onnxruntime-1.9.1-cp37-none-linux_armv7l.whl

2. 安装依赖

2.1 安装pytest

sudo pip install pytest

2.2 安装numpy

sudo pip install numpy

2.3 安装scipy

sudo pip install scipy

2.4 编译安装pybind11

Pybind11 是一个用于将 C++代码与Python解释器无缝集成的工具库。
允许开发者在C++代码中直接调用Python解释器,并在Python中使用C++库的功能。
这样的集成使得开发者能够充分利用C++的性能和功能优势,同时享受Python的简洁性和灵活性。
源码版本编译ONNX必须手动编译pybind11

2.4.1 下载pybind11源码

如果访问github卡住了就多试几次,重启一下ssh会话,重启一下树莓派也行。

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

2.4 2编译安装

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

3. 编译安装ONNX

3.1 下载ONNX源码

git clone https://github.com/onnx/onnx.git

3.2 编译安装ONNX

cd onnx/
python setup.py build
sudo python setup.py install

这里可能会遇到这样的报错

 ********************************************************************************
    Please avoid running ``setup.py`` directly.
    Instead, use pypa/build, pypa/installer, pypa/build or other standards-based tools.

因为setup.py 安装已弃用,具体看https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
解决方法

pip install build
python -m build -w

等待编译
在这里插入图片描述
看到显示这个就算成功编译!

安装ONNX

pip3 install onnx-1.15.0-cp39-cp39-linux_aarch64.whl

在这里插入图片描述
安装成功!!

参考文章

https://www.cnblogs.com/jourluohua/p/10235317.html

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在树莓派上安装64位onnxruntime,你需要按照以下步骤进行操作: 1. 首先,确保你的树莓派是运行在64位操作系统上。如果你的树莓派是运行在32位操作系统上,你需要先升级为64位操作系统。 2. 打开终端,使用以下命令更新你的系统软件包:sudo apt-get update 3. 安装必要的依赖库和工具,这些工具将帮助你构建和安装onnxruntime。使用以下命令安装所需的依赖项: - sudo apt-get install -y build-essential - sudo apt-get install -y cmake - sudo apt-get install -y libprotobuf-dev - sudo apt-get install -y protobuf-compiler - sudo apt-get install -y libopenblas-dev 4. 下载onnxruntime源代码。可以在官方GitHub仓库上找到最新版本的源代码。 5. 解压下载的源代码包,并进入解压后的目录。 6. 创建一个新的文件夹用于构建onnxruntime的编译结果。可以使用以下命令创建文件夹并进入: - mkdir build - cd build 7. 在现有的配置选项中,你需要使用64位架构进行编译。使用以下命令配置编译选项: - cmake .. -DCMAKE_BUILD_TYPE=Release -DONNXRUNTIME_BUILD_SHARED_LIB=ON -DONNXRUNTIME_ENABLE_PYTHON=OFF -DCMAKE_CXX_FLAGS="-march=armv8-a" 8. 使用以下命令编译onnxruntime: - make -j4 9. 安装编译好的onnxruntime库。使用以下命令将库文件复制到系统目录: - sudo make install 10. 安装完成后,你现在可以在你的树莓派上使用64位onnxruntime了。 请注意,这些步骤可能需要一些时间和资源,因此最好在充电和网络连接良好的情况下进行操作。在安装过程中,如果遇到任何错误或问题,请参考官方文档或在相关的开发社区中寻求帮助。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值