我打算使用 Bazel 构建 Tensorflow Object Detection API Android 演示,它是 Android Studio 中的 def nativeBuildSystem = 'bazel',但出现以下错误: 错误:找不到符号类 Fill,其中 T 是类型变量:T 扩展了 Zeros 类中声明的对象。其他存储库中的评论声称 native 构建器应设置为none,以解决此问题,但是,在 Tensorflow Android Camera Demo 中说明可以使用 Bazel 和 Android Studio 构建演示。
系统信息:
Ubuntu 16.04 LTS.
TensorFlow installed from source.
TensorFlow version 1.12.
Python version 2.7.
Bazel version 0.21.0.
Android Studio Version: 3.3
Gradle version: 3.3.0
其他存储库和论坛中与此问题相关的任何建议和评论都没有帮助!
最佳答案
在研究了这个主题并讨论了其他存储库中的问题 ( https://github.com/tensorflow/tensorflow/issues/25239 ) 之后,我得出以下结论:
如 TensorFlow 开发者峰会所述,TensorFlow Mobile 即将被弃用。他们极不可能继续支持 TFMobile 示例的基于 gradle 的构建。
也就是说,这看起来像是代码生成依赖项的问题,因为 Fill 类是动态生成的。也许这些类的生成方式最近发生了一些变化。
因此,我们不使用 Tensorflow Mobile,而是向我们推荐 TFLite
关于java - 使用 bazel "cannot find symbol class Fill where T is a type-variable: T extends Object declared in class Zeros"的 Tensorflow android 演示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54413940/