Python 这是如何生成图像的?

Python 这是如何生成图像的?,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,我用tensorflow通过了GAN网络 我在这里遇到了这一点 发电机=制造发电机型号 噪声=tf.随机.正常[1100] 生成的图像=生成噪声,训练=假 plt.imshow生成的_图像[0,:,:,0],cmap='gray' make generator_模型返回一个顺序模型。是的,很酷。但是生成的图像呢?这不是张量值吗?在没有运行会话的情况下,我们如何生成图像并检查它们?matplotlib pyplot函数如何在tensor对象上打印?它应该是numpy,据我所知,pyplot接受nu

我用tensorflow通过了GAN网络

我在这里遇到了这一点

发电机=制造发电机型号 噪声=tf.随机.正常[1100] 生成的图像=生成噪声,训练=假 plt.imshow生成的_图像[0,:,:,0],cmap='gray'
make generator_模型返回一个顺序模型。是的,很酷。但是生成的图像呢?这不是张量值吗?在没有运行会话的情况下,我们如何生成图像并检查它们?matplotlib pyplot函数如何在tensor对象上打印?它应该是numpy,据我所知,pyplot接受numpy数组来绘制图像。不是吗?有人能帮我解决这个问题吗

该方法定义为

 def make_generator_model():
     model = tf.keras.Sequential()
     model.add(layers.Dense(4*4*1024, use_bias = False, input_shape = (100,)))
     model.add(layers.BatchNormalization())
     model.add(layers.LeakyReLU())
正如你所看到的,你得到的是一个tf.keras.Sequential

致密层 在Keras中,可以创建层来开发模型。模型通常是层网络,其中最常见的类型是层堆栈

向模型中添加一个紧密连接的层将采用形状为100的数组作为输入。在第一层之后,数据的形状将为,4*4*1024。在这种情况下,由于自动形状推断,您不需要指定向前移动的输入的大小

批处理规范化功能类似于网络每一层的预处理

ReLU对于所有正值都是线性的,对于所有负值都设置为零。泄漏ReLU的负值斜率较小,而不是完全为零

例如,当x<0时,泄漏的ReLU可能具有y=0.01x


更多信息

本教程使用TF 2.0,默认情况下,TF 2.0采用即时执行。这意味着ops按照定义运行,类似于Pytork。因此,您可以更自然地考虑控制流,例如numpy函数。调用generator会立即返回一个张量,其值由plt.imshow转换为numpy数组,不再有会话。我鼓励您查看TF网站上关于2.0更改的教程。

您不是在解释问题。问题是,当它返回一个张量而不运行会话时,它如何生成图像?它是随机噪声,噪声是在make_generator_model方法的内容中生成的。在我的回答中有部分解释,在提供的链接中有其他解释,但我不想复制整个博客文章。谢谢你。但我知道我们这样做是因为我们有随机噪音。但是我们没有运行会话,对吗?当我们在我的jupyter笔记本中运行代码时,它不会生成图像,因为它说它是张量对象。我如何解决这个问题?如果你从粘贴的链接复制粘贴代码并运行它,它应该可以工作