ImportError:无法导入在tensorflow上加载图像文件所需的Python Imaging Library(PIL)

时间:2016-12-13 15:07:16

标签: python python-2.7 tensorflow python-imaging-library pillow

我正在做一个关于udacity的深度学习课程。对于第一次分配,当我试图运行低于问题1的脚本时,我收到了这个错误。所以我试图卸载PIL和枕头,然后单独安装,但我没有成功。 我需要帮助的人。我正在使用与python笔记本的tensorflow docker图像。

# These are all the modules we'll be using later. Make sure you can import them
# before proceeding further.
from __future__ import print_function
import matplotlib.pyplot as plt
import numpy as np
import os
import sys
import scipy
import tarfile
from IPython.display import display, Image
from scipy import ndimage
from sklearn.linear_model import LogisticRegression
from six.moves.urllib.request import urlretrieve
from six.moves import cPickle as pickle
# Config the matplotlib backend as plotting inline in IPython
%matplotlib inline 

url = 'http://commondatastorage.googleapis.com/books1000/'
last_percent_reported = None

def download_progress_hook(count, blockSize, totalSize):
    percent = int(count * blockSize * 100 / totalSize)

   if last_percent_reported != percent:
     if percent % 5 == 0:
  sys.stdout.write("%s%%" % percent)
  sys.stdout.flush()
else:
  sys.stdout.write(".")
  sys.stdout.flush()

last_percent_reported = percent

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/udacity/1_notmnist.ipynb

您可以在此处查看代码。问题1之后我在代码块中出错了 Error Image

我尝试了这两个链接或解决方案中的每一个和所有内容:

Solution 1 on stackoverflow

Solution 2 on stackoverflow

操作系统:

使用docker和tensorflow安装在带有IPython笔记本的容器中。

python -c的输出“import tensorflow; print(tensorflow。 version )”。

0.11.0

5 个答案:

答案 0 :(得分:51)

pip install pillow

然后更换 from IPython.display import display, Imagefrom IPython.display import display from PIL import Image

答案 1 :(得分:13)

我遇到了同样的问题。但我正在为张量流使用不同的设置。操作系统:Ubuntu 14.04 LTS。使用Anaconda安装。 我按照Pillow installation中的警告解决了这个问题。但是对于tensorflow的docker安装可能没什么用。

以下是我所做的步骤。首先进入tensorflow环境,

source activate tensorflow

然后卸载PIL并安装Pillow

conda uninstall PIL
conda install Pillow

然后在提供的代码中,替换

from IPython.display import display, Image

通过

from IPython.display import display
from PIL import Image

这就是全部。重新运行代码,它没有PIL错误。

答案 2 :(得分:2)

我通过卸载Jupyter并正确地重新安装它来解决了这个问题。问题与笔记本内核有关。我的终端和我的笔记本没有相同的内核。 为了检查它,我做了我的virtualenv:

jupyter-kernelspec list

然后转到内核目录列表并打开json文件(类似/Library/Jupyter/kernels/virtualenv/kernel.json

并检查Python链接是否与输出相同 which python

如果没有,请为virtualenv创建另一个内核。

答案 3 :(得分:1)

对于使用Anaconda的Windows用户,可能有一个简单的解决方案来解决您的问题。如果您已使用pip或pip变体(即pip3)安装了“ tensorflow”,则必须再次安装tensorflow,但这一次使用命令conda install tensorflow

答案 4 :(得分:-2)

在anaconda中安装Log_Prices <- log(Data$Prices, base = exp(0.15)) ,然后:

PIL