搜索
bottom↓
回复: 29

RK3399Pro的NPU,有谁用过吗?

[复制链接]

出0入32汤圆

发表于 2020-11-9 09:06:13 | 显示全部楼层 |阅读模式
如果我有一些神经网络的算法需要跑,是自己移植上去吗?怎么移植呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出10入18汤圆

发表于 2020-11-9 09:17:11 来自手机 | 显示全部楼层
不先从流水灯搞起吗?

出0入0汤圆

发表于 2020-11-9 09:18:35 | 显示全部楼层
应该有基础的SDK,库里会提供基本的矩阵、vector、张量的运算处理,你把你的网络的每一层用sdk提供的接口描述出来然后将数据按网络结构传递等结果

出0入32汤圆

 楼主| 发表于 2020-11-9 09:21:48 | 显示全部楼层
richards 发表于 2020-11-9 09:18
应该有基础的SDK,库里会提供基本的矩阵、vector、张量的运算处理,你把你的网络的每一层用sdk提供的接口描 ...

那也就是说,我要改动我的神经网络代码,改成RK3399pro的NPU可以接受的形式,是吗?

出0入0汤圆

发表于 2020-11-9 09:25:03 | 显示全部楼层
2020echo 发表于 2020-11-9 09:21
那也就是说,我要改动我的神经网络代码,改成RK3399pro的NPU可以接受的形式,是吗? ...

是的,你就把NPU当成 具备卷积指令集的CPU吧。比如你现有网络时TF的Keras接口,那你得把网络用sdk的接口描述。

出0入0汤圆

发表于 2020-11-9 09:26:48 | 显示全部楼层
richards 发表于 2020-11-9 09:25
是的,你就把NPU当成 具备卷积指令集的CPU吧。比如你现有网络时TF的Keras接口,那你得把网络用sdk的接口 ...

不过还有一种,一般来说跑在嵌入式NPU上的网络只需要用于预测输出 不需要用于训练,你可以把现有网络的权重和网络配置文件 转换成 NPU支持的。这样就不用写太多代码。我之前用的Intel的NPU,可以支持Caffe的网络配置文件和权重

出0入32汤圆

 楼主| 发表于 2020-11-9 09:28:17 | 显示全部楼层
richards 发表于 2020-11-9 09:26
不过还有一种,一般来说跑在嵌入式NPU上的网络只需要用于预测输出 不需要用于训练,你可以把现有网络的权 ...

嗯,是的,只做推理。

那也就是说,需要根据NPU来改代码,才可以发挥NPU的作用,是吧?

如果不改代码,那么,神经网络是不是就纯粹是在CPU上面跑,完全没有发挥NPU的作用了?

出0入0汤圆

发表于 2020-11-9 09:31:52 | 显示全部楼层
2020echo 发表于 2020-11-9 09:28
嗯,是的,只做推理。

那也就是说,需要根据NPU来改代码,才可以发挥NPU的作用,是吧?

得让 NPU识别到你的网络结构(代码调用SDK写或者给出该厂商能识别的网络配置文件),然后按照NPU的方式给灌入数据。你可以看看Opencv的 DNN支持你的NPU不

出0入32汤圆

 楼主| 发表于 2020-11-9 09:38:00 | 显示全部楼层
richards 发表于 2020-11-9 09:31
得让 NPU识别到你的网络结构(代码调用SDK写或者给出该厂商能识别的网络配置文件),然后按照NPU的方式给 ...

不是视觉,不是opencv,而是一个语音合成算法,而且是一个自己捣鼓出来的语音合成算法,tensorflow+keras。

现在要放到嵌入式上去做推理。

有哪些嵌入式芯片具有NPU ? 我目前只找到RK3399pro

k210有npu,但是,内存太小,估计跑不起来。

出0入0汤圆

发表于 2020-11-9 10:04:39 | 显示全部楼层
本帖最后由 Mecono 于 2020-11-9 10:10 编辑

如果你是标准模型,直接用RK给的工具转一下模型就能跑。

参考链接 https://docs.khadas.com/vim3/HowToUseNpu.html

出0入33汤圆

发表于 2020-11-9 10:14:38 来自手机 | 显示全部楼层
搭车求靠谱的RK3399Pro主板供应商!

出0入32汤圆

 楼主| 发表于 2020-11-9 10:17:26 | 显示全部楼层
Mecono 发表于 2020-11-9 10:04
如果你是标准模型,直接用RK给的工具转一下模型就能跑。

参考链接 https://docs.khadas.com/vim3/HowToUse ...

不是标准模型。

出0入32汤圆

 楼主| 发表于 2020-11-9 10:17:58 | 显示全部楼层
richards 发表于 2020-11-9 09:31
得让 NPU识别到你的网络结构(代码调用SDK写或者给出该厂商能识别的网络配置文件),然后按照NPU的方式给 ...

另外还有一个问题啊:

RK3399PRO的NPU部分拥有1万4千个并行处理核心,总算力高达2.4Tops,也就是说每秒能计算2.4万亿次,这个成绩远超大部分CPU。

大家要注意一点:

这个NPU算力是用Tops表示的,不是大家习惯的Tflops。也就是说,它的特长是8位和16位整型数据的并行处理,但是并不擅长通用的浮点计算。

整型部分通过NPU并行处理,浮点部分则交给RK3399的ARM Cortex-A72核心,这样的架构在嵌入式人工智能领域可以发挥最大的性价比。

这个怎么搞???

出0入32汤圆

 楼主| 发表于 2020-11-9 10:19:05 | 显示全部楼层
vtte 发表于 2020-11-9 10:14
搭车求靠谱的RK3399Pro主板供应商!

你有多大的量?

我可以帮你做。

出0入33汤圆

发表于 2020-11-9 12:16:35 来自手机 | 显示全部楼层
2020echo 发表于 2020-11-9 10:19
你有多大的量?

我可以帮你做。

暂时没有量

出0入0汤圆

发表于 2020-11-9 16:54:10 | 显示全部楼层
只能用RK提供的工具进行转换,模型如果是通用算法成功的概率就很高。

出0入71汤圆

发表于 2020-11-9 21:39:11 | 显示全部楼层
vtte 发表于 2020-11-9 10:14
搭车求靠谱的RK3399Pro主板供应商!

华硕出过一版
淘宝上搜“ASUS Tinker Edge R”

出0入32汤圆

 楼主| 发表于 2020-11-11 10:21:12 | 显示全部楼层
hexenzhou 发表于 2020-11-9 16:54
只能用RK提供的工具进行转换,模型如果是通用算法成功的概率就很高。

神经网络在npu上面跑,是不是比在cpu上面跑,要快很多很多?

出0入0汤圆

发表于 2020-11-11 10:23:51 | 显示全部楼层
古二真,紫薯布丁

出0入135汤圆

发表于 2020-11-11 11:38:20 | 显示全部楼层
2020echo 发表于 2020-11-11 10:21
神经网络在npu上面跑,是不是比在cpu上面跑,要快很多很多?

是的,这个毋庸置疑npu加速很明显

出0入32汤圆

 楼主| 发表于 2020-11-11 12:15:44 | 显示全部楼层
yelong98 发表于 2020-11-11 11:38
是的,这个毋庸置疑npu加速很明显

如果我的神经网络结构很特殊,算法比较特殊,怎么办?

还能放到npu上面去跑吗?

出0入135汤圆

发表于 2020-11-11 12:47:49 | 显示全部楼层
2020echo 发表于 2020-11-11 12:15
如果我的神经网络结构很特殊,算法比较特殊,怎么办?

还能放到npu上面去跑吗? ...

难度很大,如果只是拿通用的yolo之类转过去,厂家有提供工具,自己弄得我也不知道

出0入32汤圆

 楼主| 发表于 2020-11-11 13:04:32 | 显示全部楼层
yelong98 发表于 2020-11-11 12:47
难度很大,如果只是拿通用的yolo之类转过去,厂家有提供工具,自己弄得我也不知道 ...

难度很大,怎么办?

你有这方面的直接经验吗?

在RK3399pro上面跑过?

出50入255汤圆

发表于 2020-11-11 13:08:44 | 显示全部楼层
厂家只提供了一些框架的转换程序,其他可能要自己研究。

我们现在用了RK1808 做了一个OCR 的设备。
昨天样品刚刚出来,基本功能调通。

出0入32汤圆

 楼主| 发表于 2020-11-11 13:38:30 | 显示全部楼层
xy-mcu 发表于 2020-11-11 13:08
厂家只提供了一些框架的转换程序,其他可能要自己研究。

我们现在用了RK1808 做了一个OCR 的设备。

是在npu上面跑吗?

出50入255汤圆

发表于 2020-11-11 13:54:31 | 显示全部楼层
2020echo 发表于 2020-11-11 13:38
是在npu上面跑吗?

是的,调用转换后的rknn模型

出0入32汤圆

 楼主| 发表于 2020-11-11 14:10:54 | 显示全部楼层
xy-mcu 发表于 2020-11-11 13:54
是的,调用转换后的rknn模型

我们是自己搞的一个模型,咋办?

出0入135汤圆

发表于 2020-11-11 17:15:01 | 显示全部楼层
2020echo 发表于 2020-11-11 13:04
难度很大,怎么办?

你有这方面的直接经验吗?

没有,我只测试过k210,模型转换都不成功,折腾了好多次放弃了

出0入32汤圆

 楼主| 发表于 2020-11-11 19:01:22 | 显示全部楼层
yelong98 发表于 2020-11-11 17:15
没有,我只测试过k210,模型转换都不成功,折腾了好多次放弃了

什么原因,是不是因为k210的内存太小?

出0入0汤圆

发表于 2020-11-11 21:17:22 | 显示全部楼层
vtte 发表于 2020-11-9 10:14
搭车求靠谱的RK3399Pro主板供应商!

有多少量?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-16 22:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表