如何使用Matplotlib从PyTorch保存图形?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Matplotlib从PyTorch保存图形?相关的知识,希望对你有一定的参考价值。

我正在使用:

trainset = datasets.MNIST('saved/train', download=True,
                          train=True, transform=transform)

valset = datasets.MNIST('saved/test', download=True,
                        train=False, transform=transform)

trainloader = torch.utils.data.DataLoader(
    trainset, batch_size=64, shuffle=True)
valloader = torch.utils.data.DataLoader(valset, batch_size=64, shuffle=True)


dataiter = iter(trainloader)
images, labels = dataiter.next()

fig = plt.figure()
print(images.shape)
print(labels.shape)

plt.plot(images[0].numpy().squeeze())

fig.savefig('figs/first.png')

但是,这不会保存第一张图像。看起来像:enter image description here

所以我在做什么错呢?

答案

使用matplotlib.pyplot.imshow代替matplotlib.pyplot.plot

plt.imshow(images[0].numpy().squeeze())
fig.savefig('first_fig.png')

这将保存matplotlib图形以仅保存可以使用matplotlib.pyplot.imsave之类的图像

matplotlib.pyplot.imsave

或使用plt.imsave('first_imsave.png',images[0].numpy().squeeze())

torchvision.utils.save_image

以上是关于如何使用Matplotlib从PyTorch保存图形?的主要内容,如果未能解决你的问题,请参考以下文章

python matplotlib 绘制训练曲线 综合示例——平滑处理图题设置图例设置字体大小线条样式颜色设置

将 matplotlib 图添加到保存为图像的现有图

使用 matplotlib 的 savefig 保存从 python pandas 生成的图(AxesSubPlot)

使用 matplotlib 保存散点图动画

python matplotlib怎么在一张图上画多条曲线?Python处理多个csv文件生成叠加曲线图——综合示例:平滑处理图注图例图题范围缩放

如何使用 matplotlib/numpy 将数组保存为灰度图像?