LSTM on VIM3 NPU?

@Frank 你好,请问贵司有测试过LSTM在VIM3 NPU的运行情况吗?
我试了h5 tflite onnx都无法进行量化,不知道这边是否有关于LSTM的模型让我验证一下?

@librazxc 没有测试过这个模型,你可以查看一下文档,你的模型是不是包含了不支持的层

@Frank 不支持的层我都换掉了 现在就是单纯的LSTM层,文档写的onnx tflite keras tf都支持这个,但是keras量化时问题出在了full connect层,onnx问题出现在了reshape层。pb 和tflite存在高版本到低版本问题

1 Like

@librazxc 我这边找个时间测试一下,这个没有实际测试也不好确定问题

@Frank 好的,还得麻烦尽可能快帮忙测试一下,遇到了很多bug

我也是类似的问题,不断出现。觉得最近两周的生命都浪费再了猜测如何能“鸟枪法成功”。
这两天看了 GitHub - OAID/Tengine: Tengine is a lite, high performance, modular inference engine for embedded device
觉得可能是很好的解决方案和支持

@Frank 你好,请问有时间安排测试一下LSTM吗

@stevenwudi 基于khadas_tengine这个加载时间太长了,无法接受。TIM_VX好像还有点问题

@librazxc 这边还没有时间测试

这种方式只是第一次加载模型的时候很慢,运行起来和nb文件的方式相比没有区别

@Frank 我测试了是每次加载都要这个十几秒到二十秒时间的呀。

@librazxc 你加载完模型,就不需要再重新加载了,你可以参考我们摄像头的demo

@Frank 会频繁重启也可以吗,不是一次性永久工作的,会释放掉,因为好几个模型

@librazxc 那不行, 你是多模型,那我就没有办法了,实际上我也不建议多模型,这样子效率非常低.如果你是在是要多模型,那还是用nb文件的模式把

为什么有释放模型的需求?一个模型加载完了后在任务周期内不应该被释放才对

@alcohol 他是多模型循环周期运型.跟单模型是完全不一样的

一般任务都是多模型的,但模型再多也没有需要反复释放再初始化的动机吧?

@alcohol NPU的资源支持不起同时有这么多模型加载在NPU上.

限制是指存储吗?只遇到 C308X 这种贴了 256M 或 512M 的配置有问题。