gpt4 book ai didi

Android 应用程序在加载经过训练的 tensorflow protobuf 模型后崩溃

转载 作者:行者123 更新时间:2023-11-30 05:26:34 30 4
gpt4 key购买 nike

我正在尝试加载我在 tensorflow android 应用程序上训练自己的模型。我在 Caffe 中训练了模型,然后将其转换为 Tensorflow,但我确信这不是问题所在,因为我使用 classify.py 对其进行了测试并且它有效。

然后我序列化模型并将其放入 .pb 中,我将 tensorflow_inception_graph.pb 替换为我的(并命名为相同的)。我可以使用 bazel 构建应用程序,但是当我将它安装到手机上并运行它时,它会立即崩溃。我认为罪魁祸首是以下错误:

F/native  (26026): tensorflow_jni.cc:309 Error during inference: Invalid argument: No OpKernel was registered to support Op 'FIFOQueue' with these attrs
F/native (26026): [[Node: processed_queue = FIFOQueue[capacity=1, component_types=[DT_INT32, DT_FLOAT], container="", shapes=[[], [224,224,3]], shared_name=""]()]]

但我真的不知道如何修复它。

apk 中还包含整个 protobuf。

感谢您的帮助。

最佳答案

不幸的是,您遇到了 TensorFlow 移动构建目标的限制。默认情况下,我们仅包括推理通常需要的操作,不包括 FIFOQueue。

假设您在移动设备上的推理过程中实际上不需要运行该操作,您可以考虑使用 strip_unused.py 脚本并传入输入和输出操作名称。这将删除除从给定输入节点开始生成输出直接需要的操作之外的所有内容,因此应该删除 FIFOQueue 和其他训练操作。

关于Android 应用程序在加载经过训练的 tensorflow protobuf 模型后崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37706476/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com