利用GPU的OpenCL和MLC-LLM框架运行小语言模型-地瓜RDK X5开发板-非量产算法仅供整活 百分之零的BPU占用,几乎百分之零的CPU占用,将主要计算资源保留给主要算法。采用int4量化,内存和带宽占用理论上int8量化的一半,空余内存4.1GB。采用GPU作为计算部件,摸着通用计算的尾巴。理论上,可以使用X5的这颗支持OpenCL的GPU运行HuggingFace上面的任何模型。所有涉及的代码仓库或者模型权重均为Apache 2.0协议开源。
YOLOv11,地瓜RDK X5开发板,TROS端到端140FPS! 一句话讲明白:RDK X5的BPU完全支持YOLOv11引入的TransFormer结构,同时后处理直接复用YOLOv8,保持5ms的快速水平。
YOLOv8目标检测算法在地平线Bernoulli2架构BPU上高效部署参考(PTQ方案)——RDK X3(旭日X3派)30fps! 本文在地平线对YOLOv8s的Backbone修改的基础上,提出一种在地平线Bernoulli2架构BPU上部署YOLOv8的后处理思路。使用640×640分辨率,80类别基于COCO数据集的预训练权重,让BPU加速Backbone的Neck的部分,推理时间约62ms,使用numpy优化的后处理部分,约8ms。并使用高效的Dataflow,充分利用X3的计算资源,Python多进程推理+Web推流的方式完成了一个30fps的实时目标检测demo。本文所有程序均开源。
RDK X3(旭日X3派)在Ubuntu20.04 ROS2 Foxy手动编译新版TROS YOLOv5s包 在RDK X3 的20.04系统镜像中, 运行的TROS是基于ROS2 Foxy Server版编译的, 其中672 × 672 分辨率, 80类别的YOLOv5s模型, 推理节点后处理约65ms, 约25fps. 参考TROS手册:最近在RDK X3的22.04系统镜像中, 基于ROS2 Humble Server的新版TROS对YOLOv5s的推理节点后处理又优化了一版, 只需要50ms, 不仅仅减少了单帧延迟, 还将80类别模型的分辨率提高到了30fps.
TROS DataFlow - USB Camera & mipi Sensor - rtsp 使用TROS的功能,通过USB或者mipi摄像头得到MJPEG数据,推理YOLOv5节点,得到目标检测结果,通过ros_rtsp将nv12数据变成标准的H264/H265码流推出。
RDK X3, RDK Ultra板端hrt_tools最新版临时下载 在使用XJ3和J5的算法工具链的性能实机测试时,需要在板端安装和两个工具,目前RDK X3, RDK X3 Module的OE最新版本为2.6.4,RDK Ultra使用J5的OE,版本为1.1.68.按照OE的方法安装比较麻烦,需要ssh远程安装,但是详细看安装脚本也只是scp了文件到指定目录,所以这里直接放到社区给大家wget,使用起来更方便。百度网盘链接:https://pan.baidu.com/s/1W-HBPH0_trXx7MVOUxqkFg?pwd=09a8提取码:09a8。
YOLOv5s的demo中如何使用USB摄像头开启1080p高清Web推流,Node级别拆分编写自己的launch TROS跑YOLOv5: https://developer.horizon.cc/documents_tros/boxs/detection/yolo。/opt/tros/share/dnn_node_example/launch/dnn_node_example.launch.py, 79-89行。/opt/tros/share/dnn_node_example/launch/dnn_node_example.launch.py, 79-89行。运行一小会, 打印一些帧率信息后, Ctrl+C结束。
地平线OE配套下载的GPU/CPU的Docker镜像.tar.gz如何使用? RDK X3, RDK X3 Module使用XJ3的:https://developer.horizon.cc/forumDetail/136488103547258769。RDK Ultra使用J5的:https://developer.horizon.cc/forumDetail/118363912788935318。看着改,挂载的文件目录也看着改。网络上教程非常多,装上即可。并使用docker加载。
RDK X3(旭日X3派) qt.qpa.xcb: could not connect to display 这时候我们再去ssh终端中运行一个带有imshow的OpenCV程序,就可以成功运行了,窗口会显示在xfce桌面上,可以通过VNC去看。而桌面环境登录的用户是sunrise,所以ssh登录也登录到sunrise。RDK X3系统镜像有两个用户:一个sunrise,一个root。step2:设置允许别的用户启动窗体程序。step1:ssh登陆到X3。
测试 RDK X3 Module 的SD卡和eMMc的1GB文件顺序读写速度 注意:仅仅代表作者手上2张SD卡的速度,eMMc为32GB. 测试结果可能存在不严谨之处,仅供参考。进入eMMc的系统,同时插入SD卡,将SD卡挂载后,分别测试1GB文件连续写入的速度.mmcblk0是eMMc, mmcblk2是SD Card。
清华大学YOLOv10公版目标检测算法在地平线Bayes架构神经网络加速单元BPU上部署参考—— 以RDK Ultra为例 YOLOv10的厉害之处: 干掉了nms过程,变成nms-free. 也就是说对8400个bbox,每个bbox的80类别,阈值筛选完了就是最终的结果了,不用nms过程再去干掉重复识别的目标了。
关于RDK X3(旭日X3派)的VPS不能输出300x300照片的临时解决办法参考 因为300不是32的整数,所以向上取整到320,可以通过后期裁剪来去掉绿色区域。暂时的解决方法是利用numpy的接口对获得的nv12图像进行裁剪,将 300 x 320 的nv12图像裁剪为300 x 300 的nv12图像,大约有 2.4ms 的时间开销。
通过设备树修改BPU保留内存大小[ion_cam size] (X3, X3 Module) 此教程使用2.0.0以上系统镜像, 在RDK X3 硬件1.0板卡, 硬件2.0板卡, RDK X3 Module(SD卡), RDK X3 Module(eMMc)均测试通过.主要是方便大家在X3上运行端侧的语言大模型llm。
RDK X3 (旭日X3派) 使用TROS快速部署YOLOv5刷爆 30 fps ! 本文使用TROS.B的手册提供的方法部署YOLOv5s tag2.0的模型,在1080p分辨率输入,672*672输入,3类别达到30fps。得益于ROS2话题通讯的特性,推理部分是官方使用C++写的,而我们只需要简单的替换模型文件,写一个简单的Python订阅者节点,即可快速的将TROS的推理结果嵌入到自己的代码中。
RDK X3 (旭日X3派) 桌面2.1.0(Desktop)系统屏幕不适配如何调整?稳定版(release) 部分开发者反映自己在2.0.0的系统可以正常使用的显示器在2.1.0的系统不能使用,这里可能是分辨率问题导致的,分辨率是根据握手信号自动设置的,不过有些显示器的信号传递有问题,就会读取不到,这种一般需要通过vnc在桌面上配置一下显示分辨率,之后启动就会使用配置的分辨率进行显示。