Ошибка в Google Colab Laboratory - AttributeError: модуль «PIL.Image» не имеет атрибута «register_decoder» - PullRequest
0 голосов
/ 10 ноября 2018

Я запускаю этот код в Google Colab Laboratory и получаю сообщение об ошибке регистра декодера

image_data = dset.ImageFolder(root="drive/SemanticDataset/train/", transform = transforms.Compose([
                                        transforms.Scale(size=img_size),
                                        transforms.CenterCrop(size=(img_size,img_size*2)),
                                        transforms.ToTensor(),
                                        ]))
enter code herelabel_data = dset.ImageFolder(root="drive/SemanticDataset/label/", transform = transforms.Compose([
                                        transforms.Scale(size=img_size),
                                        transforms.CenterCrop(size=(img_size,img_size*2)),
                                        transforms.ToTensor(),
                                        ]))

image_batch = data.DataLoader(image_data, batch_size=batch_size, shuffle=False, num_workers=2)
label_batch = data.DataLoader(label_data, batch_size=batch_size, shuffle=False, num_workers=2)
for i in range(epoch):
   for _, (image, label) in enumerate(zip(image_batch, label_batch)):
       optimizer.zero_grad()

       x = Variable(image, requires_grad=True).cuda()
       y = Variable(label).cuda()

       out = model.forward(x)
       loss = loss_func(out, y)

       loss.backward()
       optimizer.step()

       if _ % 100 == 0:
           print("Epoch: "+i+"| Loss: " , loss)

вот скриншот ошибки

Ответы [ 3 ]

0 голосов
/ 02 декабря 2018

Я бы порекомендовал использовать:

!pip install -U pillow

Среда выполнения должна быть перезапущена после обновления.

-U гарантирует, что pillow устанавливается только при наличиидоступна более новая версия, которая сэкономит время при втором запуске ячейки после перезапуска ядра.

0 голосов
/ 22 декабря 2018

Я пробовал это:

!pip uninstall -y Pillow
# install the new one
!pip install Pillow==5.3.0
# import the new one
import PIL
print(PIL.PILLOW_VERSION)

и он напечатал 5.3.0, и я перезапустил среду выполнения через Menu > Runtime > Restart Runtime. Это сработало для меня как шарм.

0 голосов
/ 11 ноября 2018

Сначала проверьте версию вашей подушки, используя:

import PIL
print(PIL.PILLOW_VERSION)

и убедитесь, что у вас самая новая версия, сейчас я использую 5.3.0 Если у вас есть как 4.0.0, установите новую версию, используя: !pip install Pillow==5.3.0 в среде Colab.

Во-вторых, перезапустите вашу среду Google colab и проверьте версию еще раз, она должна быть обновлена.

У меня была такая же проблема, и я потратил некоторое время, пытаясь ее решить.

Примечание : я использовал PyTorch 0.4.

Надеюсь, это решит вашу проблему.

...