我最近进入了计算机视觉和深度学习世界。我开发了一种3D CNN模型,用于在Keras中进行动作识别,现在我对在Android(Java)中运行它感兴趣。我正在使用的层是Conv3D和MaxPool3D。该模型的总大小为40MB
我一直在tensorflow-lite空间中寻找解决方案,但似乎他们还没有实现操作。
使用converter.convert()函数获取tflite模型时出现以下错误
ConverterError: TOCO failed. See console for info.
2019-05-05 14:39:07.006669: I tensorflow/lite/toco/import_tensorflow.cc:1336] Converting unsupported operation: Conv3D
那么我该怎么做才能在Java中运行它?我应该:
到目前为止,我在网络上都没有找到Android中的任何Conv3D实现... 非常感谢您的关注!
答案 0 :(得分:0)
如果要使用张量流以标准Java代码执行, 请看看 this。但是如果你 想要使用JAVA为Android实现某些功能,唯一的方法是使用 Tensorflow Lite。
您可以将性能模型与性能基准测试中的一些最新架构进行比较。您可以找到here个基准值,它显示了与Pixel 2和Pixel XL设备的比较。
对于Conv3D的实现,如果要实现ops,可以查看custom operators。
我希望您的建议是“实施仅使用tflite支持的操作的新动作识别架构”。 Here可以使用TF Lite查找支持的操作的列表。