ImportError('无法导入PIL.Image.'使用keras-ternsorflow

Rog*_* Em 19 machine-learning image-processing keras

我在lynda.com上讲了一些关于在PyCharmCE环境中使用Keras-TensorFlow深度学习的讲座,他们没有遇到这个问题.我得到这个错误:

提高导入错误("无法导入PIL.Image."导入错误:无法导入PIL.Image使用的.array_to_img需要PIL.

我检查过其他人得到了同样的错误,但对我来说使用pip安装枕头并pip install Pillow没有解决任何问题.

MacBook-Pro-de-Rogelio:~Rogelio $ pip安装枕头要求已经满意:枕头在./anaconda3/lib/python3.6/site-packages MacBook-Pro-de-Rogelio:~Rogelio $

我跟随lynda.com关于使用Keras-TensorFlow深度学习的一些讲座,他们没有遇到这个问题.有解决方案吗

小智 33

你需要做的就是安装枕头:

pip install pillow
Run Code Online (Sandbox Code Playgroud)

那么你应该全力以赴.经过数小时的搜索后发现了这个

  • 如果您使用的是jupyter笔记本,您还必须重新启动内核才能使其工作。 (5认同)
  • `conda install Pillow` 在我的 conda 环境中为我工作。请注意,我必须重新启动 Spyder,然后才能对我有用。 (4认同)
  • 在尝试遵循[Francois Chollet的Python深度学习,第5.2.4章]时也解决了我的问题(https://books.google.co.kr/books/about/Deep_Learning_with_Python.html?id=Yo3CAQAACAAJ&source=kp_book_description&redir_esc = y) (2认同)

小智 15

我有完全相同的错误,我通过以下方式修复它:

1)在Jupyter Notebook中运行此命令:

import sys
from PIL import Image
sys.modules['Image'] = Image 
Run Code Online (Sandbox Code Playgroud)

2)在笔记本中运行以下两行,以确保它们正确指向同一目录(如果不是因为你的PIL旧库弄乱了Pillow库)

from PIL import Image
print(Image.__file__)
Run Code Online (Sandbox Code Playgroud)

import Image
print(Image.__file__)
Run Code Online (Sandbox Code Playgroud)

3)如果它正常工作并且两个导入打印指向同一个python3目录,那么继续.如果没有:3.a)转到您的操作系统控制台和您的conda环境(确保您在您想要的conda环境中工作):

conda uninstall PIL
conda uninstall Pillow
conda install Pillow
Run Code Online (Sandbox Code Playgroud)

您现在应该已经成功安装了Pillow的所有库,并解决了PIL的任何问题.3.b)现在尝试再次执行你的jupyer笔记本的代码,现在两个导入的路径应该看起来完全一样

4)现在,在OS控制台/终端中,激活所需的conda环境,运行以下命令:

conda install keras
conda install tensorflow
Run Code Online (Sandbox Code Playgroud)

5)再次运行你的jupyter笔记本脚本,应该修复并立即工作!

如果它仍然无法正常工作,那一定是因为你打开了一个没有指向正确环境的jupyter笔记本内核.解决这个问题,你会没事的!


小智 7

如果在Anaconda env上看到此问题,请使用

conda install pillow 
Run Code Online (Sandbox Code Playgroud)

并安装枕头和护垫