# 安装 Python 3.8 和虚拟环境模块(若未安装)
sudo apt update
sudo apt install -y python3.8 python3.8-venv
# 创建名为 rknn_env 的虚拟环境
python3.8 -m venv ~/rknn_env
# 激活虚拟环境
source ~/rknn_env/bin/activate
# 确认 Python 版本和 pip 版本
python --version
pip --version
在 github 下载Release v1.5.2 · airockchip/rknn-toolkit2 · GitHub安装包
找到cp38-cp38-linux_x86_64.whl 的文件
在虚拟环境中
cd ~/rknn-toolkit2-1.5.2/packages/
pip install ./rknn_toolkit2-1.5.2+b642f30c-cp38-cp38-linux_x86_64.whl
模型导出和转换
新建文件夹 mobilenetv3_convert
将
放入到这个文件夹
新建脚本导出 ONNX
nano export_onnx.py
脚本内容
import torch
from model import MobileNetV3_large
model = MobileNetV3_large(num_classes=2)
model.load_state_dict(torch.load('original_best.pkl', map_location='cpu'))
model.eval()
dummy_input = torch.randn(1, 3, 224, 224)
torch.onnx.export(model, dummy_input, 'facial_emotion.onnx',
input_names=['input'], output_names=['output'],
opset_version=11)
print("✅ ONNX 模型导出成功")
运行脚本
python3 export_onnx.py
新建脚本转化为 RKNN
nano convert_rknn.py
脚本内容
from rknn.api import RKNN
rknn = RKNN()
rknn.config(target_platform='rk3588')
rknn.load_onnx(model='facial_emotion.onnx')
rknn.build(do_quantization=False)
rknn.export_rknn('facial_emotion.rknn')
rknn.release()
print("✅ RKNN 模型导出成功")
运行脚本
python3 convert_rknn.py
将文件夹mobilenetv3_convert 压缩后通过 u 盘传到 RK3588
rk3588 上
刚才 github 下载的安装包中,找到
激活虚拟环境
source ~/tf2_env/bin/activate
安装
pip install rknn_toolkit_lite2-1.5.2-cp310-cp310-linux_aarch64.whl
安装一个 npu 核心驱动动态链接库,打开链接,下载 librknnrt.so,将它拷贝到/usr/lib/中
rknpu2/runtime/RK3588/Linux/librknn_api/aarch64 at master · rockchip-linux/rknpu2 · GitHub
sudo cp librknnrt.so /usr/lib/