Tensorflow冻结模型但反向传播错误并更新输入层

时间:2018-02-03 13:17:51

标签: tensorflow backpropagation softmax

我试着解释我的目标。 使用训练有素的模型,我想选择输出类并更新所需的图像。

  1. 将图像分配给'input_layer'。
  2. 根据所需的输出/等级转发并计算'output_layer'的错误。
  3. 将错误反向传播到'input_layer',而不更新网络的权重和偏差。
  4. 使用反向传播错误更新输入图层,原始图像。
  5. 一些提示?

1 个答案:

答案 0 :(得分:1)

您可以使用tf.gradients反向传播到输入图层:

...
logits = run_net(image)
g = tf.gradients(logits[target_class], image)
image += g[0] * step
...

可以在Deep Dream demo code中找到这样做的好例子(参见例如" Naive feature visualization"或" Multiscale image generation。"