使用YY3568开发板部署AI能力

yy3568开发板是 「风火轮科技」 基于rockchip rk3568 芯片平台设计的开发板,四核 64cortex-a55 核,主频最高达 2ghz,集成双核心架构gpu以及高效能npu,芯片性能优异。开发板功能接口丰富,多媒体性能强悍、可在物联网、工业控制、智慧交通、轻量级人工智能等领域发挥独特优势。
rknpu已经经过了几代的发展,趋近成熟。rk3399pro和rk1808初次引入了 rknpu,相比传统的cpu和gpu相比传统的cpu和gpu,在深度学习运算能力上有比较大幅度的提升。接下来在rv1109和rv1126上使用了第二代npu,提升了npu的利用率。第三代npu应用在rk3566和rk3568上,搭载全新npu自研架构,而rk3588搭载的为第四代npu,提高了带宽利用率,支持了多核扩展。
什么是rknn
rknn:瑞芯微的神经网络计算框架,它提供了一系列的工具和库,帮助开发者更轻松地构建、训练和部署神经网络模型。rknn支持各种流行的深度学习框架,如tensorflow、pytorch等,并提供了丰富的api接口,方便开发者进行模型转换、优化和部署。通过rknn,开发者可以更高效地利用rknpu的计算能力,实现更快速、更准确的神经网络推理。
什么是rknpu
rknpu:瑞芯微的神经网络处理单元,旨在在移动设备和边缘设备上高效地执行深度学习推理任务。它针对神经网络模型进行了优化,能够提供高性能、低功耗的推理计算能力。通过高效的计算和低延迟的处理,rknpu可以帮助开发者实现各种人工智能和机器学习应用,如图像识别、语音识别、自然语言处理等。
什么是rknn-toolkit2
rknn-toolkits:瑞芯微的神经网络工具包,它为开发者提供了一系列实用的工具和库,用于加速神经网络的开发和部署。rknn-toolkits包含了各种常用的工具,如模型转换工具、性能分析工具、调试工具等,方便开发者进行模型的训练、测试和优化。此外,rknn-toolkits还提供了丰富的示例代码和文档,帮助开发者快速上手并掌握如何使用瑞芯微的神经网络解决方案。
rknn-toolkit2环境搭建
安装miniconda
conda 是一个开源的软件包管理系统和环境管理系统,它可以用于安装、管理和升级软件包和依赖项。
下载并安装miniconda,安装完成之后会自动设置环境变量,重新打开终端:
rice@rice:~$ mkdir -p ~/rknn/tools/minicondarice@rice:~$ cd ~/rknn/tools/minicondarice@rice:~/rknn/tools/miniconda$ wget https://repo.anaconda.com/miniconda/miniconda3-latest-linux-x86_64.shrice@rice:~/rknn/tools/miniconda$ ./miniconda3-latest-linux-x86_64.sh  
在用户目录下新建.condarc文件,并输入如下内容
rice@rice:~$ vim .condarcchannels:   - defaultsshow_channel_urls: truechannel_alias: https://mirrors.tuna.tsinghua.edu.cn/anacondadefault_channels:   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels:  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud  
创建rknn虚拟环境
为了避免环境导致一系列问题,使用conda创建rknn虚拟环境,使用如下命令;命令执行之后,首先会要求安装一些列软件包,输入 y 确认即可。
rice@rice:~/rknn$ conda create -n rknn python=3.8  
激活rknn虚拟环境,命令如下
rice@rice:~/rknn$ conda activate rknn  
安装rknn_toolkit2
创建rknn_toolkit2目录,命令如下:
rice@rice:~$ mkdir -p ~/rknn/tools/rknn_toolkit2  
将requirements_cp38-1.4.0.txt和rknn_toolkit2-1.4.0_22dcfef4-cp38-cp38-linux_x86_64.whl拷贝到目录:~/rknn/tools/rknn_toolkit2
安装numpy,命令如下:
rice@rice:~$ pip install numpy==1.16.6 -i https://pypi.tuna.tsinghua.edu.cn/simple  
安装瑞芯微提供的requirements_cp38-1.4.0.txt文件的依赖包,命令如下:
rice@rice:~$ cd ~/rknn/tools/rknn_toolkit2rice@rice:~/rknn/tools/rknn_toolkit2$ pip install -r requirements_cp38-1.4.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  
安装瑞芯微的rknn_toolkit2,命令如下:
rice@rice:~/rknn/tools/rknn_toolkit2$ pip install -r requirements_cp38-1.4.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  
注意:如果遇到invalid version‘1.4.0-22dcfef4'的问题输入下面这两句命令
pip install uninstall setuptools pip install install setuptools==49.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple   
安装pycharm
官网下载pycharm,下载路径:~/rknn/tools/,官网链接:https://www.jetbrains.com/pycharm/。
解压安装pycharm,执行命令:
rice@rice:~$ cd ~/rknn/toolsrice@rice:~/rknn/tools$ tar -xzvf pycharm-community-2023.1.tar.gzrice@rice:~/rknn/tools$ cd pycharm-community-2023.1/bin/rice@rice:~/rknn/tools/pycharm-community-2023.1/bin/$ ./pycharm.sh  
安装完后进入pycharm软件,如下图:
创建pycharm工程
通过pycharm创建工程,新建项目,选择好工程存放目录
选择解析器为“先前配置的解析器”,配置为rknn的模拟器的解析器,如下图:
创建完成之后,打开 pycharm 内置终端,可以看到默认已经帮我们激活了rknn虚拟环境,如下图所示
rknn 模型推理
通过pycharm打开rknn-toolkit2提供的examples,我们使用rknn-toolkit2提供的onnx的实例。onnx目录:rknn-toolkit2/examples/onnx/yolov5
默认的工程推理之后不显示出结果,我们需要将test.py中输出显示的注释去掉
执行test.py脚本,即可以看到其推理的结果
yy3568 模型推理
我们将yy3568安装ubuntu系统,官方提供了yy3568的ubuntu系统,直接下载安装即可,教程连接如下:https://wiki.youyeetoo.cn/zh/yy3568
默认的yy3568的ubuntu系统提供了一个实例,目录:/rockchip-test/rknn_ssd_demo_linux。进入这个目录,运行demo:
youyeetoo@smartfly:~$ cd /rockchip-test/rknn_ssd_demo_linuxyouyeetoo@smartfly:/rockchip-test/rknn_ssd_demo_linux$youyeetoo@smartfly:/rockchip-test/rknn_ssd_demo_linux$ ./rknn_ssd_demo ./model/rk356x/ssd_inception_v2.rknn ./model/bus.jpg


苹果更新法国区iPhone 12软件,以解决辐射超标争议
语音视频领域将是未来数字营销的趋势
湿化学清洗过程中晶片污染控制方法
飞鹿电压力锅(TL30-700B)原理分析
基于TMS320DM6446的数字电影放映系统设计
使用YY3568开发板部署AI能力
智慧城市的未来将如何落地?
PSCI处理函数代码分析
博威合金助力万物互联:“云、管、端”材料推动5G高质量发展
欧拉的奇异之旅·共赴开源时代
最in智能硬件项目,Intel带你玩!
恩智浦中国电气化应用实验室正式启动!
详细解析2018年存储领域最具潜力的新兴技术
北斗2020年提供厘米级定位服务
乐视网退市至老三板后6个交易日都涨停 共涨33%
消费者对5G有哪些期望
苹果准备对智能家居发起新一轮攻击 三星Bixby增加支持4种新语言
珠海MES系统能够解决企业管理难题
串扰和反射影响信号的完整性
小米发布会时间 小米发布会有何亮点