gpt4 book ai didi

python - TensorFlow:优化推断 Estimator 导出的 SavedModel

转载 作者:行者123 更新时间:2023-11-28 17:12:59 26 4
gpt4 key购买 nike

我正在尝试优化用于推理的已保存图表,以便我可以在 Android 中使用它。

我第一次尝试使用 optimize_for_inference 脚本失败了

google.protobuf.message.DecodeError: Truncated message

所以我的问题是输入/输出节点是否错误或脚本无法处理 SavedModels(尽管它与卡住图 .pb 的扩展名相同)

关于第一个:由于我们使用 Estimators 提供 input_fn 而不是数据本身,因此应将其视为输入?第一次tf操作就可以了吗?喜欢:

x = x_dict['gestures']

# Data input is a 1-D vector of x_dim * y_dim features ("pixels")
# Reshape to match format [Height x Width x Channel]
# Tensor input become 4-D: [Batch Size, Height, Width, Channel]
x = tf.reshape(x, shape=[-1, x_dim, y_dim, 1], name='input')

(...)

pred_probs = tf.nn.softmax(logits, name='output')

顺便说一句:如果在 Android 中加载 SavedModel 有什么不同,我也想知道。

提前致谢!

最佳答案

更新: https://www.tensorflow.org/mobile/prepare_models 有很好的说明其中包括如何处理 SavedModels 的说明。您可以使用 --input_saved_model_dir 卡住您的 SavedModel到 freeze_graph.py。

它们都是 Protocol Buffer (.pb),但不幸的是它们是不同的消息(即不同的文件格式)。理论上你可以先提取一个 MetaGraph来自 SavedModel ,然后“卡住”MetaGraph 的 GraphDef(将变量移至常量),然后在卡住的 GraphDef 上运行此脚本。在那种情况下,您希望您的 input_fn 只是占位符。

您还可以在 "SavedModel support for Android" Github issues 之一上添加加一表情符号.中期我们希望对 SavedModel 进行标准化;抱歉,您遇到了这个问题!

关于python - TensorFlow:优化推断 Estimator 导出的 SavedModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46239139/

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