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

这篇具有很好参考价值的文章主要介绍了树莓派4b(armv8) 64位系统编译安装onnx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网上大部分树莓派安装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

等待编译
树莓派安装onnxruntime,嵌入式
看到显示这个就算成功编译!

安装ONNX

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

树莓派安装onnxruntime,嵌入式
安装成功!!

参考文章

https://www.cnblogs.com/jourluohua/p/10235317.html文章来源地址https://www.toymoban.com/news/detail-755142.html

到了这里,关于树莓派4b(armv8) 64位系统编译安装onnx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2.树莓派4B 64位操作系统 从零搭建深度学习项目运行环境

    探索目标 树莓派的系统烧录 树莓派的基础配置 树莓派的开机连接 树莓派的文件传输 树莓派的软件安装 树莓派的运行环境 树莓派的系统备份 测试运行现有模型 1.1 系统选择 1.1.1 Raspbian OS:官方的树莓派操作系统 ​ Raspbian OS 是官方支持的树莓派板卡操作系统。它集成了很多

    2024年01月16日
    浏览(38)
  • 树莓派4B最新系统Bullseye 64 bit使用xrdp远程桌面黑屏卡顿问题

    打开源文件 注释原来的,更换为清华源 打开raspi.list文件 注释原来的,更换为 更新软件目录和软件: 登录树莓派后,打开这个文件:/etc/X11/xrdp/xorg.conf 在文件中找到:Option “DRMDevice” “/dev/dri/renderD128” 将上述这一行注释掉,增加:Option “DRMDevice” “” 保存后重新启动

    2024年02月11日
    浏览(46)
  • 【ARMv8 编程】A64 内存访问指令——内存加载指令

    与所有先前的 ARM 处理器一样,ARMv8 架构是一种加载/存储架构。这意味着没有数据处理指令直接对内存中的数据进行操作。数据必须首先被加载到寄存器中,修改,然后存储到内存中。该程序必须指定地址、要传输的数据大小以及源或目标寄存器。有额外的加载和存储指令提

    2024年02月02日
    浏览(38)
  • [笔记]ARMv7/ARMv8 交叉编译器下载

    开发 Cortex-A7、Cortex-A72 或其他 ARM 架构 profile 芯片时,经常需要下载对应架构的交叉编译器,所以写这篇笔记,用于记录一下交叉编译器下载流程,免得搞忘。 编译环境:ubuntu 虚拟机 下载地址 我们可以从 ARM 官网的 Arm Developer下载交叉编译器,这个网站也包含几乎所有的 A

    2024年02月02日
    浏览(46)
  • Yocto系列讲解[技巧篇]92 - armv8 aarch64兼容armv7 32位程序运行环境

    By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力!

    2024年01月24日
    浏览(57)
  • (超详细版)树莓派4b烧录Ubuntu Desktop 22.04 LTS (x64)+换清华源+安装VScode+安装Todesk并实现远程控制

    提前准备 树莓派4b TF卡 读卡器 显示器(支持HDMI接口) 键鼠(USB接口) 下载 Raspberry Pi Imager           这里选择对应你电脑系统的版本        开始烧录 !!! 注意 !!!         先连接显示器再上电(pi不支持热拔插)         如果不明白如何操作,请参考 树小

    2024年03月13日
    浏览(66)
  • ARMV8-aarch64的虚拟内存(mmutlbcache)介绍-概念扫盲

    🔥 博客主页 : 小羊失眠啦. 🎥 系列专栏 : 《C语言》 《数据结构》 《C++》 《Linux》 《Cpolar》 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 思考: 1、cache的entry里都是有什么? 2、TLB的entry里都是有什么? 3、MMU操作的页表中的entry中都是有什么? L1和L3表中的entry中分别都是有什么

    2024年03月12日
    浏览(53)
  • 树莓派4B傻瓜式安装系统配置(无显示器)

    本教程详细描述树莓派如何装系统,如何连接电脑显示屏,有详细安装包,有需要的可以点击链接下载,没有会员的宝宝可以关注后私信我。 (树莓派4B傻瓜式安装系统配置(无显示器)资源包-CSDN博客) 1.树莓派4B(包括电源线) 2.电脑 3.网线、SD卡(16G以上)、读卡器 备注

    2024年02月21日
    浏览(59)
  • ONNX:C++通过onnxruntime使用.onnx模型进行前向计算【下载的onnxruntime是编译好的库文件,可直接使用】

    微软联合Facebook等在2017年搞了个深度学习以及机器学习模型的格式标准–ONNX,旨在将所有模型格式统一为一致,更方便地实现模型部署。现在大多数的深度学习框架都支持ONNX模型转出并提供相应的导出接口。 ONNXRuntime(Open Neural Network Exchange)是微软推出的一款针对ONNX模型格式

    2024年02月15日
    浏览(43)
  • ARMv8的异常等级(Exception Level)以及执行状态(AArch64/AArch32)

    目录 1,异常等级(Exception Level) 2,Execution states,执行状态 AArch64的异常等级 AArch32的异常等级: 3,异常等级切换  4,执行状态切换(AArch64 = AArch32) 5,状态切换后的寄存器状态 Registers at AArch32 PSTATE at AArch32 6,指令集的切换:Switching between the instruction sets 在ARMv8中,存在

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包