Python 2.7 如何在TensorFlow中可视化依赖于输出类的DNN?

Python 2.7 如何在TensorFlow中可视化依赖于输出类的DNN?,python-2.7,tensorflow,deep-learning,Python 2.7,Tensorflow,Deep Learning,在TensorFlow中,只需一次输入即可直观地显示过滤器和激活层 但我更感兴趣的是相反的方式:将一个类(作为一个热向量)馈送到输出层,然后查看该特定类的最佳输入图像 是否有方法执行此操作或反向运行图形 背景:我正在使用GooglesInception V3,共有15门课,我已经用大量数据对网络进行了培训,达到了很高的精度。现在我有兴趣了解模型为什么以及如何区分不同的类。这个“基本”版本很简单。您使用与训练网络相同的图形,但不是优化网络的w.r.t.参数,而是优化输入的w.r.t(输入图像的形状

在TensorFlow中,只需一次输入即可直观地显示过滤器和激活层

但我更感兴趣的是相反的方式:将一个类(作为一个热向量)馈送到输出层,然后查看该特定类的最佳输入图像

是否有方法执行此操作或反向运行图形

背景:我正在使用GooglesInception V3,共有15门课,我已经用大量数据对网络进行了培训,达到了很高的精度。现在我有兴趣了解模型为什么以及如何区分不同的类。

这个“基本”版本很简单。您使用与训练网络相同的图形,但不是优化网络的w.r.t.参数,而是优化输入的w.r.t(输入图像的形状必须是一个变量)。您的优化目标是目标类的负logit(因为您希望最大化,但TF优化器最小化)。您希望为图像运行两个不同的初始值


还有一些相关的技术,如果你搜索DeepDream和敌对的例子,你应该会找到很多文献。

但是由于TensorFlow中的图是直接的,我不能简单地改变我的优化目标。我必须手动重建一个反向模型,对吗?@MarcOsterland不,是一样的。唯一的问题是什么是固定的,什么是可变的-在典型设置中,图像是固定的,您可以更改模型参数,在您的情况下,模型参数是固定的,您可以更改图像。@etarion:但是在创建用于训练的变量后,您如何固定参数?@thomas TensorFlow优化器在“最小化”中有一个var_列表参数,可以让您精确地指定要更新的变量-其他变量不会被触及。@etarion:Id不知道那个但现在我有另一个问题。为了不在答案上乱发评论,我提出了一个新问题。如果你能看一看,我将不胜感激