9

Я занимаюсь углубленным курсом обучения по udacity. Для первого присваивания, когда я пытался запустить скрипт, который ниже проблемы 1, я получил эту ошибку. Поэтому я попытался удалить PIL и подушку, а затем установил их индивидуально, но мне это не удалось. Мне нужен помощник. Я использую изображение докеры с тензонезом с записной книжкой python.ImportError: Не удалось импортировать библиотеку изображений Python (PIL), необходимую для загрузки файлов изображений на тензорном потоке

# 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

Операционная система:

с использованием докеров и тензорного потока устанавливается в контейнер с IPython ноутбуком.

Выход из python -c "import tensorflow; print (tensorflow. версия)".

0.11.0

+0

ли установлен PIL? Если нет, перейдите по ссылке в сообщении об ошибке – lhk

+1

@lhk Да, я сделал, и это дает мне ту же ошибку. –

ответ

2

Я решил эту проблему путем удаления Jupyter и повторно установлен должным образом. Проблема была связана с ядром ноутбука. У моего терминала и моего ноутбука не было такого же ядра. Чтобы проверить это, я сделал в моей virtualenv:

jupyter-kernelspec list

затем перейти в ядро ​​каталогов списков и открыть файл в формате JSON (что-то вроде /Library/Jupyter/kernels/virtualenv/kernel.json)

и проверить, чем связь Python является то же самое чем на выходе which python.

Если нет, создайте другое ядро ​​для своего виртуального пользователя.

+0

Этот ответ дал мне хорошую часть пути. Чтобы создать другое ядро ​​для моего virtualenv, мне пришлось ссылаться на этот документ, http://ipython.readthedocs.io/en/stable/install/kernel_install.html, раздел «Ядра для разных сред». –

7

Я встретил ту же проблему. Но я использую другую настройку для тензорного потока. ОС: Ubuntu 14.04 LTS. Установка с использованием Anaconda. Я решил это, следуя предупреждениям в Pillow installation. Однако это может быть не полезно для установки докеры с тензорным потоком.

Вот шаги, которые я сделал. Сначала введите tensorflow среду,

source activate tensorflow 

Затем удалите PIL и установить подушку

conda uninstall PIL 
conda install Pillow 

Затем в предоставленном коде замените

from IPython.display import display, Image 

по

from IPython.display import display 
from PIL import Image 

Это все ,Повторно запустите код, и он работает без ошибки PIL.

26

pip install pillow

Затем замените from IPython.display import display, Image с from IPython.display import display from PIL import Image

+0

не забудьте перезагрузить вас env после установки pip .., например: source deactivate; источник активировать .. и т. д. – ChaosPredictor