2016-12-13 40 views
9

Robię kurs głębokiego uczenia się o udacity. Przy pierwszym zadaniu, gdy próbowałem uruchomić skrypt, który jest poniżej problemu 1, otrzymałem ten błąd. Więc próbowałem odinstalować PIL i poduszkę, a następnie zainstalować je indywidualnie, ale nie udało mi się. Potrzebuję pomocy faceta. Używam obrazu dokowanego tensorflow z pythonem.ImportError: Nie można zaimportować biblioteki obrazowania Python (PIL) wymaganej do załadowania plików obrazów na tensorflow

# 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

Można zobaczyć kod tutaj. Mam błąd w bloku kodu po problemu 1 Error Image

próbowałem każdego i wszystko opisać tutaj w tych dwóch linków lub rozwiązań:

Solution 1 on stackoverflow

Solution 2 on stackoverflow

System operacyjny:

przy użyciu docker i tensorflow jest zainstalowany w pojemniku z notebookiem IPython.

Dane wyjściowe z python -c "import tensorflow; print (tensorflow. wersja)".

0.11.0

+0

Czy zainstalować PIL? Jeśli nie, użyj linku w komunikacie o błędzie – lhk

+1

@lhk Tak zrobiłem i daje mi ten sam błąd. –

Odpowiedz

2

I rozwiązać ten problem przez odinstalowanie Jupyter i ponownie zainstalowany prawidłowo. Problem był związany z jądrem notebooka. Mój terminal i mój notatnik nie miały tego samego jądra. Aby to sprawdzić, ja w moim virtualenv:

jupyter-kernelspec list

następnie przejdź do listy katalogów jądra i otwórz plik json (coś jak /Library/Jupyter/kernels/virtualenv/kernel.json)

i sprawdzić niż link Python jest taki sam niż na wyjściu z which python.

Jeśli nie, utwórz kolejne jądro dla swojego virtualenv.

+0

Ta odpowiedź dostarczyła mi sporą część drogi. Aby utworzyć inne jądro dla mojego virtualenv, musiałem odnieść się do tego dokumentu, http://ipython.readthedocs.io/en/stable/install/kernel_install.html, sekcji "Jądra dla różnych środowisk". –

7

Spotkałem ten sam problem. Ale używam innego ustawienia dla tensorflow. System operacyjny: Ubuntu 14.04 LTS. Instalacja za pomocą Anacondy. Rozwiązałem go, przestrzegając ostrzeżeń w Pillow installation. Może to jednak nie być użyteczne w przypadku dokowania z tensorflow.

Oto kroki, które zrobiłem. Najpierw wprowadź tensorflow środowiska

source activate tensorflow 

Następnie odinstaluj PIL i zainstalować Pillow

conda uninstall PIL 
conda install Pillow 

Następnie w przewidzianym kodu, wymienić

from IPython.display import display, Image 

przez

from IPython.display import display 
from PIL import Image 

To wszystko .Ponownie uruchom kod i działa bez błędu PIL.

26

pip install pillow

Następnie zastąpić from IPython.display import display, Image z from IPython.display import display from PIL import Image

+0

nie zapomnij ponownie uruchomić env po instalacji pip .., jak: source deactivate; źródło aktywuj .., itp. – ChaosPredictor