电子说
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/miniconda rice@rice:~$ cd ~/rknn/tools/miniconda rice@rice:~/rknn/tools/miniconda$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh rice@rice:~/rknn/tools/miniconda$ ./Miniconda3-latest-Linux-x86_64.sh
在用户目录下新建.condarc文件,并输入如下内容
rice@rice:~$ vim .condarc channels: - defaults show_channel_urls: true channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda default_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/msys2 custom_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_toolkit2 rice@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/tools rice@rice:~/rknn/tools$ tar -xzvf pycharm-community-2023.1.tar.gz rice@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_Linux youyeetoo@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
全部0条评论
快来发表一下你的评论吧 !