Firefly开源社区

1234
发表新贴

Android8.1神经网络硬件加速TfLiteSSDDemo开放源码(支持Firefly下的RK3399平台)

974

积分

204

威望

196

贡献

超级版主

Rank: 8Rank: 8

积分
974
发表于 2018-12-22 15:31:52     
Firefly-RK3399/AIO-3399J Android8.1固件支持Android Neural Networks API (NNAPI) ,充分调用神经网络API进行硬件加速,使RK3399的AI运算性能大幅提升。适用基于主流模型架构衍生开发的各类应用,例如:商品识别、疲劳检测等。

        此SDK为基于 RK3399 Android8.1 的 AndroidNN GPU 加速方案,可以为采用 AndroidNN API开发的 AI 相关应用提供通用加速支持。


支持AndroidNN的两种方式

在上述 Android 平台依赖满足的情况下,支持两种使用 AndroidNN 的方式


  • 1) 根据 AndroidNN1.0 API 的规范编写 AI 应用。
  • 2) 基于 Tensorflow Lite 开发应用,Tensorflow Lite 自动调用 Rockchip AndroidNN 加速接口。



目前提供的两个 Demo 均基于 Tensorflow Lite 的开发,分别为:


TfLiteSSDDemo:基于 TensorflowLite 的目标检测 Demo,使用 MobileNet-SSD 模型 ...



APP以及源码下载地址:




回复

使用道具 举报

119

积分

0

威望

0

贡献

技术小白

积分
119
发表于 2018-12-22 21:49:28     
沙发,希望Ubuntu上也能支持一下
回复

使用道具 举报

119

积分

0

威望

0

贡献

技术小白

积分
119
发表于 2018-12-24 10:47:03     
你们是把ssd模型的inference写到native库里面,这样貌似也就只能跑ssd的模型。直接在java代码里面调用tflite的模型能达到相同的fps吗?
回复

使用道具 举报

117

积分

1

威望

0

贡献

技术小白

积分
117
发表于 2018-12-24 15:48:27     
在java代码中直接调用tflite模型,这得看tflite模型复杂度,不同的模型耗时是不一样的,这个主要由模型算法决定。如果两个模型算法一样,那么直接在java代码里面调用tflite的模型一般都可以达到相同的fps。还有tflite提供的一些接口不一定支持。
回复

使用道具 举报

119

积分

0

威望

0

贡献

技术小白

积分
119
发表于 2018-12-26 13:57:35     
梁开东 发表于 2018-12-24 15:48
在java代码中直接调用tflite模型,这得看tflite模型复杂度,不同的模型耗时是不一样的,这个主要由模型算法 ...

我之前曾经测试过,直接用java调用tflite的mobilenet ssd模型,fps达不到官方demo的速度。
回复

使用道具 举报

117

积分

1

威望

0

贡献

技术小白

积分
117
发表于 2018-12-27 14:37:03     
本帖最后由 梁开东 于 2018-12-27 18:03 编辑
jewes 发表于 2018-12-26 13:57
我之前曾经测试过,直接用java调用tflite的mobilenet ssd模型,fps达不到官方demo的速度。

请问: 你是用tensorflew提供的demo在RK3399平台运行速度达不到的官方所说的速度吗?还是你自己写的demo比tensorflew提供的demo运行速度慢?

还有你用的是7.1系统还是8.1系统。8.1系统和7.1系统在处理类似于像素转换for循环操作,在java上运行速度差别很大。因为类似for循环耗时操作,在不同的系统和不同的开发板上运行速度不一样的,所以这部分代码你都用jni实现,可能速度会提升很多。但是也有可能rk3399对tflite支持还不太完善,导致fps达不到官方速度。
回复

使用道具 举报

411

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
411
发表于 2018-12-29 09:07:20     
赞,满满的黑科技赶脚
回复

使用道具 举报

36

积分

0

威望

0

贡献

技术小白

积分
36
发表于 2018-12-29 10:39:26     
您好~我将TFLiteSSDDemo编译之后生成apk,在RK3399上运行,发现并没有检测目标,并且在Android Studio上打印出recognitions,发现为空,请问该如何解决?

我使用的是Android Studio2.2 + NDK R16b,其他源码部分没有改变。
回复

使用道具 举报

117

积分

1

威望

0

贡献

技术小白

积分
117
发表于 2018-12-29 15:48:05     
我怀疑是相关的so库没有打包到apk中。你看build.gradle的配置对了没有,官方TFLiteSSDDemo用的是androidstudio3.1.3版本。可能是版本对so库的引用不一样。
回复

使用道具 举报

36

积分

0

威望

0

贡献

技术小白

积分
36
发表于 2018-12-29 15:55:05     
lkd 发表于 2018-12-29 15:48
我怀疑是相关的so库没有打包到apk中。你看build.gradle的配置对了没有,官方TFLiteSSDDemo用的是androidstu ...

这是生成的apk中所包含的.so库。
捕获.PNG
回复

使用道具 举报

返回列表
1234
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表