python – 计算张量后,如何将其显示为图像?

我有一维numpy数组.在TensorFlow中执行计算后,我得到一个tf.Tensor作为输出.我试图将其重塑为二维数组并将其显示为图像.

如果它是一个numpy ndarray,我会知道如何绘制它作为一个图像.但现在是一个张量!

虽然我尝试使用tensor.eval()将其转换为numpy数组,但我收到错误消息“无默认会话”.

任何人都可以教我如何将张量显示为图像吗?

... ...
init = tf.initialize_all_variables()    
sess = tf.Session()
sess.run(init)

# training
for i in range(1):
    sess.run(train_step, feed_dict={x: x_data.T, y_: y_data.T})

# testing
probability = tf.argmax(y,1);
sess.run(probability, feed_dict={x: x_test.T})

#show result
img_res = tf.reshape(probability,[len_y,len_x])
fig, ax = plt.subplots(ncols = 1)

# It is the the following line that I do not know how to make it work...
ax.imshow(np.asarray(img_res.eval())) #how to plot a tensor ?#
plt.show()
... ...

解决方法:

你看到的即时错误是因为Tensor.eval()仅在存在“default Session时才有效.这要求(i)你在tf.Session()中执行:block,(ii)你是在sess.as_default():block中执行,或者(iii)您正在使用tf.InteractiveSession.

有两种简单的解决方法可以使您的案例有效:

# Pass the session to eval().
ax.imshow(img_res.eval(session=sess))

# Use sess.run().
ax.imshow(sess.run(img_res))

请注意,作为关于可视化图像的一个重点,您可以考虑使用tf.image_summary() op和TensorBoard来可视化由更大的训练管道生成的张量.

相关文章

MNIST数据集可以说是深度学习的入门,但是使用模型预测单张M...
1、新建tensorflow环境(1)打开anacondaprompt,输入命令行...
这篇文章主要介绍“张量tensor是什么”,在日常操作中,相信...
tensorflow中model.fit()用法model.fit()方法用于执行训练过...
https://blog.csdn.net/To_be_little/article/details/12443...
根据身高推测体重const$=require('jquery');const...