AttributeError: модуль 'PIL.Image' не имеет атрибута 'register_extensions'

Я запускал lesson1 fast.ai в google-colab. Когда я подошел к линии

img = plt.imread(f'{PATH}valid/cats/{files[0]}')

plt.imshow(img);

У него не было изображения. Вместо этого я получил сообщение об ошибке:

AttributeError: module 'PIL.Image' has no attribute 'register_extensions'

Что может быть причиной этого?

Ответ 1

Что работало для меня после загрузки pillow модуля и всех других настроек fastai:

# workaround 
from PIL import Image
def register_extension(id, extension): Image.EXTENSION[extension.lower()] = id.upper()
Image.register_extension = register_extension
def register_extensions(id, extensions): 
  for extension in extensions: register_extension(id, extension)
Image.register_extensions = register_extensions

и теперь не требуется перезапуск Runtime.

Ответ 2

Для меня перезапуск среды выполнения с помощью "Runtime/Restart runtime..." из меню после установки новой подушки, использующей pip, и запуск кода, который использует его, исправил проблему.

Ответ 3

В следующий раз вы запустите свою кобулю VM, обязательно запишите следующие две строки (т.е. Не запускайте их)

#%reload_ext autoreload        <------------— comment out 
#%autoreload 0                 <------------— comment out
%matplotlib inline

Чтобы быть в безопасности, я также переустановил мой PIL

!pip install --no-cache-dir -I pillow

Ответ 4

Это сработало для меня после того, как я добавил следующее после всех настроек:

from PIL import Image

def register_extension(id, extension): Image.EXTENSION[extension.lower()] = id.upper()
Image.register_extension = register_extension
def register_extensions(id, extensions): 
  for extension in extensions: register_extension(id, extension)
Image.register_extensions = register_extensions

а затем изменил следующую функцию в разделе " Analyzing Results: Looking At Pictures

def load_img_id(ds, idx): return np.array(PIL.Image.open(PATH+ds.fnames[idx]))

в

def load_img_id(ds, idx): return np.array(Image.open(PATH+ds.fnames[idx]))

Ответ 5

Возможно формат файла. Я изменил его с ".tiff" на ".png". Оно работает. Модуль не имеет tiff-декодера.

Ответ 6

Я столкнулся с Google Colab, когда столкнулся с этой проблемой.

После кода для установки torch, добавьте:

!pip install pillow==4.1.1
%reload_ext autoreload
%autoreload

%autoreload перезагрузит все модули, поэтому перезагрузка ядра не требуется.

Кредит переходит к этому сообщению на форуме.

Ответ 7

запустите эти 3 строки в начале вашего ноутбука colab

!pip install Pillow==4.0.0
!pip install PIL
!pip install image

Я также боролся с той же проблемой. Но это сработало для меня. https://pillow.readthedocs.io/en/3.1.x/reference/Image.html

Ответ 8

!pip install Pillow==4.0.0
!pip install PIL
!pip install image
from PIL import Im