当前位置: 首页 > news >正文

RK3588 IREE+Vulkan ResNet50推理测试

RK3588 IREE+Vulkan ResNet50推理测试

    • 背景
  • 一.性能数据【暂不考虑该框架】
  • 二.操作步骤
    • 2.1 搭建NFS服务,解决IREE编译时,空间不足的问题
    • 2.2 编译、安装`IREE`
      • 2.2.1 挂载NFS
      • 2.2.2 安装依赖
      • 2.2.3 编译`IREE`
      • 2.2.4 获取驱动及设备信息
      • 2.2.5 下载推理图片
      • 2.2.6 生成`onnx`模型转换脚本
      • 2.2.7 生成运行推理测试脚本
      • 2.2.8 `CPU-FP32`测试
      • 2.2.9 `CPU-FP16`测试
      • 2.2.10 `Vulkan-FP32`测试
      • 2.2.11 `Vulkan-FP16`测试

背景

在边缘计算场景中,RK3588作为高性能ARM处理器,配合Vulkan图形API和IREE机器学习运行时,能够实现高效的模型推理。IREE(Intermediate Representation Execution Environment)是Google开源的机器学习模型编译器运行时,可将PyTorch/TensorFlow等框架的模型编译为可在多种硬件上运行的高效代码。Vulkan作为新一代跨平台图形API,其计算着色器特性非常适合并行计算任务。本文旨在对该方案进行摸底

一.性能数据【暂不考虑该框架】

  • 模型:resnet50 输入:[1,3.224,224 float32] 输出:[1,1000 float32]
精度模式CPU推理【性能太差】Vulkan推理【结果不对】
FP323001.05ms MSE=0.0000010791.2645 ms MSE:98008.86
FP164097.97ms MSE=0.000020.6807 ms MSE:3.67

二.操作步骤

2.1 搭建NFS服务,解决IREE编译时,空间不足的问题

ssh root@192.168.1.100
cd /home/rk3588
docker stop nfs-server
docker rm nfs-server
docker run -d --name nfs-server --privileged -e SHARED_DIRECTORY=/home \-v $PWD:/home -p 2049:2049 nfs_server

2.2 编译、安装IREE

2.2.1 挂载NFS

ssh root@192.168.1.101
mkdir -p /nfs
mount -t nfs -o nolock 192.168.1.100:/ /nfs/
mkdir /nfs/rk3588

2.2.2 安装依赖

apt install software-properties-common -y
add-apt-repository ppa:deadsnakes/ppa   #添加Python软件源
apt install python3.10
apt install python3.10-dev
wget https://bootstrap.pypa.io/get-pip.py
python3.10 get-pip.py
pip3.10 install numpy
/usr/bin/python3.10 -m pip install onnx
pip3.10 install torch
pip3.10 install torchvision
apt install google-mock -y
apt install ninja-build -y
apt install ccache -y#安装cmake
cd /nfs/rk3588
wget https://github.com/Kitware/CMake/releases/download/v3.22.5/cmake-3.22.5-linux-aarch64.sh
bash cmake-3.22.5-linux-aarch64.sh --prefix=/usr/local --skip-license
export PATH=/usr/local/bin:$PATH

2.2.3 编译IREE

cd /nfs/rk3588
git clone --recursive https://github.com/google/shaderc.git
cd /nfs/rk3588/shaderc
cd /nfs/rk3588/shaderc/third_party
git clone --recursive https://github.com/KhronosGroup/SPIRV-Tools.git
mv SPIRV-Tools spirv-tools
cd spirv-tools/external
git clone --recursive https://github.com/KhronosGroup/SPIRV-Headers.git
mv SPIRV-Headers spirv-headers
cd /nfs/rk3588/shaderc/third_party
git clone --recursive https://github.com/KhronosGroup/glslang.gitcd /nfs/rk3588/shaderc
rm build -rf
mkdir build && cd build 
cmake -DSHADERC_SKIP_TESTS=ON ..
make -j4
make installcd /nfs/rk3588/
git clone --recursive https://github.com/openxla/iree.git
http://www.xdnf.cn/news/551035.html

相关文章:

  • @ColorRes和@ColorInt什么区别
  • 基于天猫 API 的高效商品详情页实时数据接入方法解析
  • 2025年 全国青少年信息素养大赛 算法创意挑战赛C++ 小学组 初赛真题
  • 鸿蒙开发进阶:深入解析ArkTS语言特性与开发范式
  • GitHub 趋势日报 (2025年05月19日)
  • windows使用anaconda安装pytorch cuda版本
  • 倾斜摄影已过时?3DGS能否重塑三维重建效率天花板
  • 寻找最优美做题曲线
  • Linux在防火墙中添加开放端口
  • 爱普生Epson PX-S887打印机信息
  • AI能源危机:人工智能发展与环境可持续性的矛盾与解决之道
  • 计算机视觉与深度学习 | PSO-MVMD粒子群算法优化多元变分模态分解(Matlab完整代码和数据)
  • Git报错:Another git process seems to be running in this repository
  • C及C++不定参数log输出方法(printf风格)
  • Python训练打卡Day29
  • Latex写作中文版
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月20日第83弹
  • C# 类的基本概念(程序和类:一个简单的示例)
  • web基础
  • 信奥赛-刷题笔记-栈篇-T3-P4387验证栈序列0520
  • Web技术与Nginx网站环境
  • 分布式序列生成方案 : Redis Incr | 基于Redisson创建自增获取序号,每天更换一个key, key到期时间1天,用于创建订单号、快递单号
  • 机器学习 day05
  • [java八股文][Java虚拟机面试篇]垃圾回收
  • ubuntu下实时检测机械硬盘和固态硬盘温度
  • 设计模式----软考中级软件设计师(自用学习笔记)
  • MD编辑器推荐【Obsidian】含下载安装和实用教程
  • AI指令模板综述(Prompt Review)
  • 车道线检测:自动驾驶的“眼睛”
  • 2025系统架构师---案例题(押题)