在IDE中运行相同代码时,按Jupyter笔记本中显示的图片不显示吗?

时间:2019-01-25 18:17:38

标签: matplotlib jupyter-notebook pytorch

我试图通过将代码从Jupiter笔记本复制到我的IDE(pycharm)来在本地计算机上的在线教程中运行代码。

这部分

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
from PIL import Image
from torchvision import transforms
import matplotlib.pyplot as plt

pig_img = Image.open("pig.jpg")
preprocess = transforms.Compose([
   transforms.Resize(224),
   transforms.ToTensor(),
])
pig_tensor = preprocess(pig_img)[None,:,:,:]

plt.imshow(pig_tensor[0].numpy().transpose(1,2,0))

Jupiter笔记本显示了想象力-在终端或IDE中运行时无法显示它。

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:2)

您需要显式调用.show()才能在终端上显示图片,即

将此添加到代码末尾

plt.show()

来自documentation

  

显示图形。当以pylab模式在ipython中运行时,显示所有图形并返回到ipython提示符。

     

在非交互模式下,显示所有图形并阻止直到图形被关闭;在交互模式下,除非在非交互模式更改为交互模式之前创建图形(不推荐),否则它不会起作用。在这种情况下,它会显示数字,但不会阻塞。