wake-up-neo.com

Fehler in Google Colaboratory - AttributeError: Modul 'PIL.Image' hat kein Attribut 'register_decoder'

Ich verwende diesen Code in Google Colaboratory und erhalte einen Fehler beim Registerdecoder

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)

hier ist der Screenshot des Fehlers

5
Aditya Kumar

Überprüfen Sie zunächst die Version des Kissens, indem Sie Folgendes verwenden:

import PIL
print(PIL.PILLOW_VERSION)

und vergewissern Sie sich, dass Sie über die neueste Version verfügen, die ich gerade verwende, 5.3.0 Wenn Sie 4.0.0 haben, installieren Sie eine neue Version, indem Sie: !pip install Pillow==5.3.0 in der Colab-Umgebung verwenden.

Zweitens restart Ihre Google Colab-Umgebung und überprüfen Sie die Version erneut. Sie sollte aktualisiert werden.

Ich hatte das gleiche Problem und habe einige Zeit versucht, es zu lösen. 

Hinweis : Ich habe PyTorch 0.4 verwendet. 

Ich hoffe, das löst dein Problem.

8

Ich würde empfehlen:

!pip install -U pillow

Die Laufzeit muss nach dem Upgrade neu gestartet werden.

-U sorgt dafür, dass pillow nur installiert wird, wenn eine neuere Version verfügbar ist. Dies spart Zeit, wenn die Zelle nach dem Kernel-Neustart zum zweiten Mal ausgeführt wird.

1
Tom Hale

Ich habe das versucht:

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

und 5.3.0 wurde gedruckt und ich habe die Laufzeitumgebung über Menu > Runtime > Restart Runtime neu gestartet. Es funktionierte für mich wie ein Zauber.

0
Muhammad Haseeb