OK3588的NPU加速推理resnet18—rknn_toolkit_lite2的Python语言篇

OK3588的NPU加速推理MobileNet——Python语言篇

  • Rknn_toolkit_lite2
  • Miniconda安装
  • 创建虚拟环境并运行NPU加速推理
  • 代码注释

Rknn_toolkit_lite2

RKNN Toolkit Lite2 主要用于 RKNN 模型在 Rockchip NPU 上的部署。
在使用 RKNN Toolkit Lite2 之前,用户需要先通过 RKNN Toolkit2 将各深度学习框架导出的模
型转成 RKNN 模型。转换模型的方法在这篇博客里面讲到 使用rknn-toolkit2把YOLOV5部署到OK3588上。
RKNN-Toolkit-Lite2 为 Rockchip NPU 平台(RK3566、RK3568、RK3588)提供 Python 编程接口,帮助用户部署 RKNN 模型并加速 AI 应用程序的实现。提供了一种在RK3588上用python加速,开发应用的方法。
先把rknn_toolkit_lite2下载到板卡上
git clone https://github.com/rockchip-linux/rknn-toolkit2
cd rknn-toolkit2
ls
就看到了rknn_toolkit_lite2

Miniconda安装

Miniconda下载地址
选择这个版本下载
OK3588的NPU加速推理resnet18—rknn_toolkit_lite2的Python语言篇_第1张图片
bash Miniconda3-py38_23.5.2-0-Linux-aarch64.sh
安装注意选择yes

创建虚拟环境并运行NPU加速推理

conda create -n ok3588 python=3.8
conda activate ok3588
cd rknn_toolkit_lite2/
pip install rknn_toolkit_lite2-1.5.0-cp38-cp38-linux_aarch64.whl #python3.8的虚拟环境,安装python3.8的rknn_toolkit_lite轮子
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple # 通过清华源安装opencv
进入相应的路径
cd rknn-toolkit2/rknn_toolkit_lite2/examples/inference_with_lite/
python test.py
如图
OK3588的NPU加速推理resnet18—rknn_toolkit_lite2的Python语言篇_第2张图片

代码注释

if __name__ == '__main__':

    host_name = get_host()#获取硬件平台信息
    if host_name == 'RK3566_RK3568':
        rknn_model = RK3566_RK3568_RKNN_MODEL
    elif host_name == 'RK3562':
        rknn_model = RK3562_RKNN_MODEL
    elif host_name == 'RK3588':
        rknn_model = RK3588_RKNN_MODEL
    else:
        print("This demo cannot run on the current platform: {}".format(host_name))
        exit(-1)

    rknn_lite = RKNNLite()

    # load RKNN model
    print('--> Load RKNN model')
    ret = rknn_lite.load_rknn(rknn_model)#导入RKNN模型
    if ret != 0:
        print('Load RKNN model failed')
        exit(ret)
    print('done')

    ori_img = cv2.imread('./space_shuttle_224.jpg')#读取图片
    img = cv2.cvtColor(ori_img, cv2.COLOR_BGR2RGB)#数据格式转换

    # init runtime environment
    print('--> Init runtime environment')#初始化runtime 环境
    # run on RK356x/RK3588 with Debian OS, do not need specify target.
    if host_name == 'RK3588':
        ret = rknn_lite.init_runtime(core_mask=RKNNLite.NPU_CORE_0)
    else:
        ret = rknn_lite.init_runtime()
    if ret != 0:
        print('Init runtime environment failed')
        exit(ret)
    print('done')

    # Inference
    print('--> Running model')
    outputs = rknn_lite.inference(inputs=[img])#执行推理
    show_top5(outputs)  #打印推理结果
    print('done')

    rknn_lite.release()

你可能感兴趣的:(OK3588,python,OK3588,rknn_toolkit2)