我正在尝试将 TensorFlow Lite 与Android上的GPU委托一起使用。我正在使用从回购的 master 分支的源构建的lib版本( .so 文件)。问题是: ModifyGraphWithDelegate 函数始终返回错误。并且在日志中有以下错误消息:
2019-04-22 15:21:16.212 688-688/com.my.app E/tflite: TfLiteGpuDelegate Prepare: Shader compilation failed: ERROR: 0:6: 'unknown' : not a legal layout qualifier id
ERROR: 0:6: 'unknown' : Syntax error: syntax error
INTERNAL ERROR: no main() function!
ERROR: 2 compilation errors. No code generated.
2019-04-22 15:21:16.212 688-688/com.my.app E/tflite: Node number 54 (TfLiteGpuDelegate) failed to prepare.
如果像官方示例项目中那样使用JAVA / JNI预先构建的lib版本(“ org.tensorflow:tensorflow-lite:0.0.0-gpu-experimental”),则不会出现此类错误。但是我确实需要为跨平台代码使用C ++接口。
任何想法/建议都值得赞赏。
答案 0 :(得分:0)
如果要构建本机共享库,则可能需要手动加载.so库。 参见https://groups.google.com/a/tensorflow.org/forum/#!topic/tflite/5YhFsCFtKi4
答案 1 :(得分:0)
我终于做到了。对于我来说,错误的内部原因仍然是完全未知的,但重点是: