树莓派5 64位系统编译安装 onnxruntime

本文介绍了ONNXRuntime如何在树莓派等边缘计算设备上高效运行ONNX模型,强调了其在模型部署、推理性能提升以及与树莓派硬件的兼容性。还提到了在树莓派上安装和优化ONNXRuntime的步骤,以及其在智能家居、智能安防等领域的实际应用价值。
摘要由CSDN通过智能技术生成

ONNX Runtime是由微软开发的一个高性能、可扩展、跨平台的推理引擎,用于运行ONNX(Open Neural Network Exchange)格式的机器学习模型。ONNX是一个跨平台、可扩展的开源模型交换格式,被许多常见的深度学习框架支持,用于导出模型。ONNX Runtime对ONNX模型进行了最原生的支持,并提供了简单易用的API,使得用户能够方便地进行模型推理。

ONNX Runtime支持多种运行后端,包括CPU、GPU、TensorRT、DML等,这意味着用户可以在不同的硬件平台上高效运行模型。此外,ONNX Runtime还支持多种编程语言,如C++、Python、Java等,为开发者提供了更广泛的选择。

随着人工智能的快速发展,越来越多的深度学习模型被应用到实际场景中。然而,由于深度学习框架众多,模型格式不统一,这给模型的部署和推理带来了挑战。ONNX Runtime的出现,为这一问题提供了解决方案。通过统一模型格式,并使用一套高效代码进行推理,ONNX Runtime使得模型的部署和推理变得更加便捷和高效。

此外,ONNX Runtime还具有一定的训练能力。例如,ONNX Runtime Training于2021年4月发布,可加快PyTorch对模型训练的速度,并可通过CUDA加速,目前多用于Linux平台。

许多业界领先的企业正在积极将自己的技术与ONNX Runtime实现集成和整合,以使自己的服务能够完整支持ONNX规范,并实现性能的最优化。同时,由于其自身只包含推理功能,ONNX Runtime的源码相对较为简洁易懂,通过阅读其源码,可以非常清晰地理解深度学习框架的一些核心功能原理,如op注册、内存管理、运行逻辑等。

总的来说,ONNX Runtime是一个强大而灵活的推理引擎,它为用户提供了高效、便捷的模型推理和训练能力,推动了人工智能技术的发展和应用。

ONNX Runtime与树莓派的结合为机器学习模型在边缘计算设备上的部署和推理提供了强大的支持。ONNX Runtime作为一个高性能的推理引擎,能够高效运行ONNX格式的机器学习模型,而树莓派则作为一款低成本、高性能的边缘计算设备,为机器学习应用的部署提供了理想的硬件平台。

在树莓派上安装ONNX Runtime,可以使得机器学习模型在树莓派上直接进行推理,无需将数据传回云端进行处理,从而大大减少了数据传输的延迟和成本。这对于一些实时性要求较高的应用,如智能家居、智能安防等,具有非常重要的意义。

同时,树莓派的开源性和可扩展性也为ONNX Runtime的应用提供了广阔的空间。开发者可以根据自己的需求,通过编写代码来调用ONNX Runtime的API,实现各种复杂的机器学习功能。此外,树莓派还支持多种传感器和接口,使得机器学习模型能够与环境进行交互,实现更加智能化的应用。

在将ONNX Runtime与树莓派结合时,需要注意一些技术细节。首先,需要确保树莓派的硬件性能和操作系统版本能够满足ONNX Runtime的要求。其次,需要正确安装和配置ONNX Runtime,以便能够正确加载和运行ONNX格式的模型。最后,还需要对模型进行优化和调试,以确保其在树莓派上的推理性能达到最佳状态。

总的来说,ONNX Runtime与树莓派的结合为机器学习在边缘计算领域的应用提供了强大的支持,为开发者提供了更加灵活和高效的解决方案。随着技术的不断发展,相信未来这种结合将会得到更广泛的应用和推广。

似乎树莓派64位系统的 wheels 包还没有,有的话后续会更新一下,先拉源码编译一下。Python用的是 3.11版本的。

查看系统:

uname -a

Linux raspberrypi 6.1.0-rpi8-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 GNU/Linux

cmake 版本最低要求是 3.26

cmake_minimum_required(VERSION 3.26) 

可以用下面命令查看:

cmake --version
1、一些依赖安装

sudo apt-get install libssl-dev

如果买的pi内存比较小,可以先申请扩大一下虚拟内存

sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile
# 将 CONF_SWAPSIZE=100 改成如 CONF_SWAPSIZE=2048 就是 分配2GB的虚拟内存,具体看SD剩余空间
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
# 重启系统
sudo reboot
2、安装cmake
wget https://github.com/Kitware/CMake/archive/refs/tags/v3.28.0.tar.gz
tar -zxvf CMake-3.28.0.tar.gz
cd CMake-3.28.0/
mkdir build && cd build
../bootstrap && make
sudo make install
3、安装 pybind
git clone https://github.com/pybind/pybind11.git
cd pybind11/
mkdir build
cd build/
cmake ..
make -j4
sudo make install
4、编译 onnxruntime
./build.sh --config RelWithDebInfo --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync --cmake_extra_defines CMAKE_OSX_ARCHITECTURES="arm64" --build_wheel

漫长编译完成后,会生成 wheel 安装包,在 build/Linux/RelWithDebInfo/dist 目录下,安装wheel包:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnxruntime-1.18.0-cp311-cp311-linux_aarch64.whl

安装成功:

5、试试在 Python 中加载和运行一个 ONNX 模型

  • 23
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
要在树莓派安装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了。 请注意,这些步骤可能需要一些时间和资源,因此最好在充电和网络连接良好的情况下进行操作。在安装过程中,如果遇到任何错误或问题,请参考官方文档或在相关的开发社区中寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值