RK3562是瑞芯微新推出的一款处理器,有RK3562(商业级)和RK3562J(工业级)两个版本,RK3562处理器拥有四核Cortex-A53@1.8GHz + Cortex-M0@200MHz异构多核架构,支持10路UART、2路CAN、2路网口、3个显示接口、2路Camera等超多外设接口。
除此之外还内置算力高达1TOPS的NPU,支持INT4、INT8、INT16、FP16等多种数据类型,支持TensorFlow、PyTorch、ONNX、TFLite、Caffe、Android NN 等深度学习框架,可以实现高效神经网络推理计算并轻松应对多种AI运算场景。
RK3562-NPU使用流程
第一步:训练模型
准备训练数据,然后选择TensorFlow、PyTorch、ONNX、TFLite、Caffe等框架训练模型。也可以使用瑞芯微提供的模型。
第二步:模型转换
得到训练好的模型以后,使用RKNN-Toolkit2工具将模型转换为RKNN模型。RKNN模型则是RK3562 NPU可以识别的模型。
第三步:应用开发
根据具体使用需求,将转换后的模型集成到应用程序中
RK3562-NPU案例分享
在rknn-toolkit2 工具中, 自带了很多测试例程和模型,如下图所示:
选择tensorflow作为测试框架, 进入tensorflow/ssd_mobilenet_v1/目录下.
打开 test.py,修改对应的平台为 rk3562, 修改如下所示, “-”代表需要删除的内容, “+”代表需要新增的内容。
if __name__ == '__main__':
# Create RKNN object
- rknn = RKNN(verbose=True)
+ rknn = RKNN()
# Pre-process config
print('--> Config model')
- rknn.config(mean_values=[127.5, 127.5, 127.5], std_values=[127.5, 127.5, 127.5])
+ rknn.config(mean_values=[127.5, 127.5, 127.5], std_values=[127.5, 127.5, 127.5],
target_platform='RK3562')
print('done')
# Load model
@@ -62,7 +62,7 @@ if __name__ == '__main__':
# Init runtime environment
print('--> Init runtime environment')
- ret = rknn.init_runtime()
+ ret = rknn.init_runtime(target='RK3562')
if ret != 0:
print('Init runtime environment failed!')
exit(ret)
修改完并执行该脚本后可以看到知推理图片识别后的结果。
Score 反映的是得分,得分越高说明和被认为的标签相似度越高,圆括号则是对应识别出的物体的坐标。 命令行中出现了八行被识别物体的坐标和置信度, 和 out.jpg 可以对应。out.jpg 如下图所示
更多参考
更多详细案例请参考:
1.【北京迅为NPU视频教程】:https://b23.tv/W30Wbvu
2.【北京迅为】itop-3562开发板npu使用手册(开发板对应售后群下载)