目录
rknn3399Pro简介
驱动安装:
安装python环境:
依赖项安装:
安装异常解决:
rknn测试例子
yolox onnx导出rknn代码
https://www.ruiyixi.com/2019/11/21/the-open-source-platform-of-rockchip-such-as-rk3399pro-rk3288-rk1808-etc/
这个也可以参考:
RKNN-Toolkit安装_雨浅听风吟的博客-CSDN博客_rknn toolkit
RK3399Pro是目前在售的最新平台,本质上就等于RK3399加RK1808,RK1808是独立的NPU,是专门面向人工智能应用场景的。RK3399Pro是第一颗内置独立NPU的通用型SoC,发时间较早,在2019年项目也逐步进入落地阶段。不过由于产品单价过高,且单颗RK1808提供的算力有限,RK3399Pro目前销量并不乐观。目前瑞芯微的RK3288是最受ODM市场欢迎的产品,基于RK3288平台的商业显示、工业控制、视频会议一体机、大型会议平板电脑和机器人主板都有不错的市场表现。不过RK3288是一个老平台了,早在2014年就已经推出,虽然目前的技术积累十分丰富,但是平台的性能也逐渐满足不了高端客户需求。尤其是在机器视觉领域的应用,RK3288性能表现一般。目前大多数高端场景都采用RK3399芯片方案,尤其是一些使用环境苛刻的应用,RK3399K虽然芯片标出的温度是-20℃~70℃,符合一般工业标准要求。但实际项目落地时,可达到-40℃~95℃的宽温性能,因此RK3399也成为一些工控场景的首选方案。
RK3328是一个中端芯片,目前除了家庭影音场景,主要用于数字标牌和控播主机等产品,RK3328本身时开源项目,有多种Linux发行版可使用,也用于小型服务器项目。PX30目前主要用于车机中控,也可用于广告机和数字标牌。目前PX30在ODM项目中的点名率并不高。RK3128主要用于数码相框和一些小尺寸的数字标牌,有较大的成本优势。
按照瑞芯微目前的策略来看,下一代旗舰RK3588也很开能是开源的,进入8K时代,高性能的SoC和DSP是必不可少的。瑞芯微积极拥抱RISC-V也许是想打造更丰富的产品线。
rk1808需要先下载驱动,
先去官方网站:Zadig - USB driver installation made easy 下载这个软件件:zadig-2.7.exe
官方网站也有教程
这个软件不需要安装,只需要运行就可以了。步骤是:
1、把编程器插到USB接口里
2、运行 zadig-2.5 程序
3、如下图所示:按上下的箭头,选中 libusb-win32(v1.2.6.0) 然后,点击下方的 Install Driver 即可安装驱动。
4、驱动安装完成后,就可以打开编程软件,进行编程了。
5、这个软件可以解决 XTW100 在windows 10 下无法安装驱动的问题。
2022.06.18更新:
rknn windows版本,只有python3.6版本,linux有3.7版本
conda config --set report_errors true
conda create --name rknn3.6 python=3.6
rknn下载:
http://repo.rock-chips.com/pypi/simple/rknn-toolkit/
rknn-toolkit-1.2.1-cp36-cp36m-linux_aarch64.whl 17-Oct-2019 10:05 56659109
rknn-toolkit-1.2.1-cp36-cp36m-linux_x86_64.whl 17-Oct-2019 10:05 60841540
rknn-toolkit-1.2.1-cp36-cp36m-macosx_10_9_x86_6..> 17-Oct-2019 10:08 36891121
rknn-toolkit-1.2.1-cp36-cp36m-win_amd64.whl 17-Oct-2019 10:08 33134089
rknn-toolkit-1.2.1-cp37-cp37m-linux_aarch64.whl 17-Oct-2019 10:09 57598878
rknn-toolkit-1.3.0-cp36-cp36m-linux_aarch64.whl 20-Jan-2020 06:47 57274013
rknn-toolkit-1.3.0-cp36-cp36m-linux_x86_64.whl 20-Jan-2020 06:59 136707878
rknn-toolkit-1.3.0-cp36-cp36m-macosx_10_9_x86_6..> 20-Jan-2020 07:02 116558624
rknn-toolkit-1.3.0-cp36-cp36m-win_amd64.whl 20-Jan-2020 07:06 109971468
rknn-toolkit-1.3.0-cp37-cp37m-linux_aarch64.whl 20-Jan-2020 07:06 58575235
rknn-toolkit-1.3.2-cp37-cp37m-linux_aarch64.whl 23-Apr-2020 06:48 35742584
rknn-toolkit-1.4.0-cp36-cp36m-linux_x86_64.whl 24-Aug-2020 00:51 135521194
rknn-toolkit-1.4.0-cp36-cp36m-win_amd64.whl 24-Aug-2020 00:51 108328413
rknn-toolkit-1.4.0-cp37-cp37m-linux_aarch64.whl 24-Aug-2020 00:51 31001197
rknn-toolkit-1.4.0-cp37-cp37m-macosx_10_15_x86_..> 24-Aug-2020 00:51 108429118
rknn_toolkit-1.6.0-cp35-cp35m-linux_aarch64.whl 14-Jan-2021 02:33 34538213
rknn_toolkit-1.6.0-cp35-cp35m-linux_x86_64.whl 14-Jan-2021 02:34 160362809
rknn_toolkit-1.6.0-cp36-cp36m-linux_x86_64.whl 14-Jan-2021 02:35 160552824
rknn_toolkit-1.6.0-cp36-cp36m-macosx_10_15_x86_..> 14-Jan-2021 02:36 119510062
rknn_toolkit-1.6.0-cp36-cp36m-win_amd64.whl 14-Jan-2021 02:36 112325076
rknn_toolkit-1.6.0-cp37-cp37m-linux_aarch64.whl 14-Jan-2021 02:36 39105410
rknn_toolkit-1.6.0-cp37-cp37m-macosx_10_15_x86_..> 14-Jan-2021 02:37 117990241
rknn_toolkit-1.7.0-cp37-cp37m-linux_aarch64.whl 02-Nov-2021 08:31 40410162
rknn_toolkit-1.7.1-cp35-cp35m-linux_aarch64.whl 11-May-2022 04:33 37938676
rknn_toolkit-1.7.1-cp35-cp35m-linux_x86_64.whl 11-May-2022 04:33 142780939
rknn_toolkit-1.7.1-cp36-cp36m-linux_x86_64.whl 11-May-2022 04:34 140752080
rknn_toolkit-1.7.1-cp36-cp36m-macosx_10_15_x86_..> 11-May-2022 04:34 122255122
rknn_toolkit-1.7.1-cp36-cp36m-win_amd64.whl 11-May-2022 04:34 114232401
rknn_toolkit-1.7.1-cp37-cp37m-linux_aarch64.whl 11-May-2022 04:34 41073863
rknn_toolkit-1.7.1-cp37-cp37m-macosx_10_15_x86_..> 11-May-2022 04:35 120252888
pip install rknn_toolkit-1.7.1-cp36-cp36m-win_amd64.whl
pip install tensorflow==1.15
pip install tensorflow-gpu==1.15
pip install opencv-python
异常1 tensorflow ImportError: DLL load failed: 找不到指定的模块。
Traceback (most recent call last):
File "D:\Users\Administrator\miniconda3\envs\tf1x\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "D:\Users\Administrator\miniconda3\envs\tf1x\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "D:\Users\Administrator\miniconda3\envs\tf1x\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "D:\Users\Administrator\miniconda3\envs\tf1x\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "D:\Users\Administrator\miniconda3\envs\tf1x\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: 找不到指定的模块。
解决方法:
pip install tensorflow==1.15
from rknn.api import RKNN
if __name__ == '__main__':
rknn = RKNN()
rknn.list_devices()
rknn.release()
参考代码:
GitHub - qq1243196045/YONO
导出onnx:
tools/export_onnx.py
导出rknn,可以导出,推理还没测试
demo/RKNN/export_rknn.py
import os
import urllib
import traceback
import time
import sys
import re
import numpy as np
import cv2
from yolox.data.data_augment import preproc as preprocess
from rknn.api import RKNN
import time
from yolox.utils import mkdir, multiclass_nms, demo_postprocess, vis
from config import Config
def run():
cfg = Config()
ONNX_MODEL = 'yolox.onnx'
RKNN_MODEL = 'yolox.rknn'
rknn = RKNN(verbose=True)
rknn.list_devices()
# rknn.config(target_platform='rk3566')
rknn.config()
ret = rknn.load_onnx(model=ONNX_MODEL)
if ret < 0:
print("load faild")
ret = rknn.build(do_quantization=False,dataset="/home/bona/Projects/python/YOLOX-main/demo/RKNN/dataset.txt")
if ret < 0:
print("build faild")
ret = rknn.export_rknn(RKNN_MODEL)
if ret < 0:
print("export faild")
print("export down")
报错:
python 另一个程序正在使用此文件,进程无法访问
主要原因为几个:
1.文件正在使用,使用过程中删除了
2.文件已经删除了,还需要再用。
临时解决方法:
D:\Users\Administrator\miniconda3\envs\tf1x\Lib\tempfile.py
@classmethod
def _cleanup(cls, name, warn_message):
# _shutil.rmtree(name)
_warnings.warn(warn_message, ResourceWarning)