如何将张量视为图像?

ONI*_*ION 5 python machine-learning tensorflow

我用tensorflow学习了一些数据。

为了测试,我看到了最终结果的形状。

它是 (1, 80, 80, 1) 的张量。

我使用 matplotlib 或 PIL 来做到这一点,

我想在更改为饼图数组后查看图像。

但是我无法将张量更改为 numpy。

即使我使用了 eval(),我也不能因为会话而做任何事情。

没有办法将张量转换为 numpy。

我可以将张量视为图像吗?

(mytensor1) # mytensor

arr = np.ndarray(mytensor1)
arr_ = np.squeeze(arr)
plt.imshow(arr_)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但有错误消息:TypeError: expected sequence object with len >= 0 or a single integer

tal*_*904 11

您可以使用 numpy 的挤压功能。例如

arr = np.ndarray((1,80,80,1))#This is your tensor
arr_ = np.squeeze(arr) # you can give axis attribute if you wanna squeeze in specific dimension
plt.imshow(arr_)
plt.show()
Run Code Online (Sandbox Code Playgroud)

现在,您可以轻松地显示此图像(例如,上面的代码,假设您使用的是matplotlib.pyplot as plt)。


J. *_*ski 8

对于使用 PyTorch 的人,我所知道的最简单的方法是:

import matplotlib.pyplot as plt

plt.imshow(my_tensor.numpy()[0], cmap='gray')
Run Code Online (Sandbox Code Playgroud)

那应该这样做