赞
踩
主机、开发板、电源线、TypeC-USB线
~下载链接:Firefly | 让科技更简单,让生活更智能
~下载完成后,如下红框为所需固件:
~下载链接1:Firefly | 让科技更简单,让生活更智能
~解压后得到如图:
~先点击“驱动卸载”,然后成功后,再点击“驱动安装”,显示成功。
~下载链接2:Firefly | 让科技更简单,让生活更智能
~ 下载好后,如图,此时,下方还不是“Found One ADB Device”,继续接下来的步骤。
~断开电源连接,用Type-C接线和电脑端连接,如图接口。
~按住Recovery键,保持
(此时注意,Recovery键是水平的黑色按键,和左侧黑色接口贴的很死,需要指甲伸进去然后按下。)
~此时接上电源,大概两秒之后,松开手即可。
~此时进入3中下载的软件,按照如图三步走
~Firmware弹出的框,选择 2里面红框标识的文件。然后点击
~ 开始进行更新,右边白框会显示数据。
~等出现success时,升级结束。此时开发板亮起了蓝色指示灯。
~先下载adb
~下载链接:Firefly | 让科技更简单,让生活更智能
~然后解压到C盘,目录地址为C:\adb
(注意,必须是C,要不还得自己配环境变量)
~键盘快捷键:windows键+R进入cmd界面
~输入
- cd C:\adb
- adb shell
~如下,即完成本步骤
GitHub - rockchip-linux/rknn-toolkit2
conda创建环境,并激活
- sudo apt-get install python3 python3-dev python3-pip
-
- sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6 \
- libgl1-mesa-glx libprotobuf-dev gcc
然后打开下载的toolkit2包,进入package/
这一步记住根据python版本和linux系统选择合适的whl包:
sudo pip3 install rknn_toolkit2.xxxxxx.whl
检查安装是否成功,如图即为成功
通过typeC-usb线连接到linux系统,然后查看设备
adb devices
红框为当前连接设备ID号
- adb push Linux/rknn_server/${BOARD_ARCH}/usr/bin/ /usr/bin
- adb push Linux/librknn_api/${BOARD_ARCH}/librknnrt.so /usr/lib目录
然后输入指令进入串口终端
adb shell
执行
- chmod +x /vendor/bin/rknn_server
- sync
- reboot
此时启动成功
- import os
- import urllib
- import traceback
- import time
- import sys
- import numpy as np
- import cv2
- from rknn.api import RKNN
-
- ONNX_MODEL = 'yolov5m6_new.onnx'
- RKNN_MODEL = 'yolov5m6_new.rknn'
-
- QUANTIZE_ON = True #是否量化
- batch = 16
- channel = 3
- height = 640
- width = 640
- output_names=['/24/m.0/Conv_output_0','/24/m.1/Conv_output_0','/24/m.2/Conv_output_0']
- input_name = 'images'
- DEVICE_ID = '0b269a5507adbdf4' #设备ID号
- DATASET = './dataset.txt' #模型输入数据地址保存位置
-
- if __name__ == '__main__':
-
- # Create RKNN object
- rknn = RKNN(verbose=True)
-
- # pre-process config
- print('--> Config model')
- rknn.config(mean_values=[[0, 0, 0]], std_values=[[255, 255, 255]], target_platform='rk3588')
- print('done')
-
- # Load ONNX model
- print('--> Loading model')
- ret = rknn.load_onnx(model=ONNX_MODEL,
- inputs=[input_name],
- input_size_list=[[batch,channel,height,width]],
- outputs= output_names)
- if ret != 0:
- print('Load model failed!')
- exit(ret)
- print('done')
-
- # Build model
- print('--> Building model')
- img = np.random.randn(batch, height, width, 3)*255-128
- img = img.astype(np.int8)
- img_0 = np.random.randn(batch, 3, height, width)*255-128
- img_0 = img_0.astype(np.int8)
- np.save("img_0.npy", img_0)
- ret = rknn.build(do_quantization=QUANTIZE_ON,dataset=DATASET)
- if ret != 0:
- print('Build model failed!')
- exit(ret)
- print('done')
-
- # Export RKNN model
- print('--> Export rknn model')
- ret = rknn.export_rknn(RKNN_MODEL)
- if ret != 0:
- print('Export rknn model failed!')
- exit(ret)
- print('done')
-
- # Init runtime environment
- print('--> Init runtime environment')
- #ret = rknn.init_runtime()
- ret = rknn.init_runtime(target='rk3588', device_id=DEVICE_ID, perf_debug=True,eval_mem=True)
- #ret = rknn.init_runtime(target='rk3588', )
- if ret != 0:
- print('Init runtime environment failed!')
- exit(ret)
- print('done')
-
- # Set inputs
- #img = cv2.imread(IMG_PATH)
-
-
- # # Inference
- # print('--> Running model')
- # outputs = rknn.inference(inputs=[img])
- # Inference
-
- outputs = rknn.inference(inputs=[img], data_format="nhwc")
- rknn.eval_perf(is_print=True)
-
-
- rknn.release()
安装、调试啥的问题,文档里面自取
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。