網(wǎng)上大部分樹莓派安裝onnx的都是基于樹莓派3b的,或者說基于armv7架構的。
本文記錄一下如何在最新的樹莓派4b系統(tǒng)(armv8、python3.9)上編譯安裝onnx的過程。
1. 查看ARM CPU版本
1.1 方式1
cat /proc/version
獲取當前系統(tǒng)的內(nèi)核版本號及系統(tǒng)名稱
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
獲取當前系統(tǒng)的內(nèi)核版本及系統(tǒng)名稱
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找到別人已經(jīng)預編譯好的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解釋器無縫集成的工具庫。
允許開發(fā)者在C++代碼中直接調(diào)用Python解釋器,并在Python中使用C++庫的功能。
這樣的集成使得開發(fā)者能夠充分利用C++的性能和功能優(yōu)勢,同時享受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
安裝成功!!文章來源:http://www.zghlxwxcb.cn/news/detail-755142.html
參考文章
https://www.cnblogs.com/jourluohua/p/10235317.html文章來源地址http://www.zghlxwxcb.cn/news/detail-755142.html
到了這里,關于樹莓派4b(armv8) 64位系統(tǒng)編譯安裝onnx的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!