我正在尝试加载我在tensorflow android应用程序上训练自己的模型。我在Caffe中训练模型,然后将其转换为Tensorflow,但我确信这不是问题,因为我使用classify.py测试它并且它可以工作。
然后我将模型序列化并将其放入.pb中,我将tensorflow_inception_graph.pb替换为我的(并将其命名为相同)。我可以使用bazel构建应用程序但是当我在手机上安装并运行它时,它会立即崩溃。我认为罪魁祸首是以下错误:
iterator
但我真的不知道如何解决它。
此外,apk还有整个protobuf。
感谢您的帮助。
答案 0 :(得分:1)
不幸的是,您正在为TensorFlow达到移动构建目标的限制。默认情况下,我们只包含推理通常需要的操作,不包括FIFOQueue。
假设您在移动设备的推理过程中实际上不需要运行该操作,您可以查看使用strip_unused.py脚本并传入输入和输出操作名称。这将删除除了从给定输入节点开始生成输出所需的操作之外的所有操作,因此应删除FIFOQueue和其他训练操作。