【问题标题】:How to use Tensorflow inference models to generate deepdream like images如何使用 Tensorflow 推理模型生成类似 deepdream 的图像
【发布时间】:2016-08-01 12:09:08
【问题描述】:

我正在使用自定义图像集来训练使用 Tensorflow API 的神经网络。在成功的训练过程之后,我得到了这些包含不同训练变量值的检查点文件。我现在想从这些检查点文件中获取推理模型,我发现了这个script,它可以做到这一点,然后我可以使用它来生成 deepdream 图像,如本教程中所述。问题是当我使用以下方法加载模型时:

import tensorflow as tf
model_fn = 'export'

graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
with tf.gfile.FastGFile(model_fn, 'rb') as f:
  graph_def = tf.GraphDef()
  graph_def.ParseFromString(f.read())
t_input = tf.placeholder(np.float32, name='input')
imagenet_mean = 117.0
t_preprocessed = tf.expand_dims(t_input-imagenet_mean, 0)
tf.import_graph_def(graph_def, {'input':t_preprocessed})

我收到此错误:

graph_def.ParseFromString(f.read())

self.MergeFromString(序列化)

raise message_mod.DecodeError('Unexpected end-group tag.') google.protobuf.message.DecodeError:意外的结束组标记。

脚本需要一个协议缓冲区文件,我不确定我用来生成推理模型的 script 是否提供了协议缓冲区文件。

有人可以建议我做错了什么,或者有更好的方法来实现这一点。我只是想将张量生成的检查点文件转换为原型缓冲区。

谢谢

【问题讨论】:

    标签: machine-learning tensorflow protocol-buffers inference tensorflow-serving


    【解决方案1】:

    您运行的脚本的链接已损坏,但无论如何建议不要尝试从检查点生成推理模型,而是在训练程序末尾嵌入代码,该代码将发出“ SavedModel" 导出(不是与检查点相同的东西)。

    请参阅 [1],尤其是标题“构建保存的模型”。请注意,保存的模型包含多个文件,其中一个确实是协议缓冲区(我希望它直接回答您的问题);其他是变量文件和(可选)资产文件。

    [1]https://www.tensorflow.org/programmers_guide/saved_model

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      相关资源
      最近更新 更多