用Python绘制张量

用Python绘制张量,python,tensorflow,matplotlib,machine-learning,Python,Tensorflow,Matplotlib,Machine Learning,我正在跟随来自的教程 我希望能够看到使用plt.imshow()生成的图像,但由于某种原因,该行 generator = make_generator_model() noise = tf.random.normal([1, 100]) generated_image = generator(noise, training=False) #type = tensorflow.python.framework.ops.Tensor plt.imshow(generated_image[0, :

我正在跟随来自的教程

我希望能够看到使用plt.imshow()生成的图像,但由于某种原因,该行

generator = make_generator_model()

noise = tf.random.normal([1, 100])
generated_image = generator(noise, training=False)
#type = tensorflow.python.framework.ops.Tensor

plt.imshow(generated_image[0, :, :, 0], cmap='gray')
不适用于我,我得到一个错误:

TypeError: Image data cannot be converted to float
我在StackOverflow上跟随了几个线程,并尝试使用tf.cast来投射张量,但即使这样也没有帮助

网站上的模型与我的代码不同(只是略有不同)


在TensorFlow 1.xx中,需要输出张量

generator=make\u generator\u model()
噪声=tf.随机.正常([1100])
生成的图像=生成器(噪声,训练=错误)
sess=tf.Session()#创建会话
sess.run(tf.global_variables_initializer())#初始化变量
image=sess.run(生成的_image[0,:,:,0])#在会话内计算图像张量
plt.imshow(im,cmap='gray')
plt.show()
或者您可以使用TensorFlow 2.0 beta版,默认情况下会使用即时执行

generator=make\u generator\u model()
噪声=tf.随机.正常([1100])
生成的图像=生成器(噪声,训练=错误)
plt.imshow(生成的图像[0,:,:,0],cmap='gray')
plt.show()

对我来说很好,你有什么tf版本?嗨,我的tf版本是1.13.1你需要先计算张量你好,这非常有效,谢谢。但是,如果我再次运行该单元格,它会给出错误消息:数组的索引太多
def make_generator_model():
    model = Sequential()
    model.add(Dense(9*9*256, use_bias=False, input_shape=(100,)))
#     model.add(BatchNormalization())
    model.add(LeakyReLU())

    model.add(Reshape((9, 9, 256)))
    assert model.output_shape == (None, 9, 9, 256) # Note: None is the batch size

    model.add(Conv2DTranspose(128, (3, 3), strides=(1, 1), padding='same', use_bias=False))
    assert model.output_shape == (None, 9, 9, 128)
#     model.add(BatchNormalization())
    model.add(LeakyReLU())

    model.add(Conv2DTranspose(64, (3,3), strides=(1, 1), padding='same', use_bias=False))
    assert model.output_shape == (None, 9, 9, 64)
#     model.add(BatchNormalization())
    model.add(LeakyReLU())

    model.add(Conv2DTranspose(1, (3,3), strides=(1, 1), padding='same', use_bias=False, activation='tanh'))
    assert model.output_shape == (None, 9,9,1)

    return model