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

Tensorflow冻结模型但反向传播错误并更新输入层,tensorflow,backpropagation,softmax,Tensorflow,Backpropagation,Softmax,我试图解释我的目标。 使用经过训练的模型,我想选择输出类并更新反馈的图像 将图像指定给“输入层” 转发并计算“输出层”相对于所需输出/类的错误 将错误反向传播到“输入层”,而不更新网络的权重和偏差 使用反向传播的错误更新输入层(原始图像) 一些提示?您可以使用tf.gradients反向传播到输入层: ... logits = run_net(image) g = tf.gradients(logits[target_class], image) image += g[0] * step ...

我试图解释我的目标。 使用经过训练的模型,我想选择输出类并更新反馈的图像

  • 将图像指定给“输入层”
  • 转发并计算“输出层”相对于所需输出/类的错误
  • 将错误反向传播到“输入层”,而不更新网络的权重和偏差
  • 使用反向传播的错误更新输入层(原始图像)

  • 一些提示?

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

    ...
    logits = run_net(image)
    g = tf.gradients(logits[target_class], image)
    image += g[0] * step
    ...
    
    在中可以找到这样做的好例子(例如,请参见“原始特征可视化”或“多尺度图像生成”)