Ошибка типа: img должен быть изображением PIL. Получил <класс 'dict'>Python

Программы на Python
Ответить
Anonymous
 Ошибка типа: img должен быть изображением PIL. Получил <класс 'dict'>

Сообщение Anonymous »


Я пытаюсь обучить свою модель на локальном графическом процессоре, и она выдает ошибку, хотя тот же код правильно работает в Google Colab.

из наборов данных импортируйте load_dataset dataset = load_dataset("tglcourse/lsun_church_train", кэш_dir='набор данных') image_size = 256 каналы = 3 размер_пакета = 1 из преобразований импорта torchvision из torch.utils.data импортировать DataLoader # определить преобразования изображений (например, с помощью torchvision) преобразование = Составить([ # Transforms.RandomHorizontalFlip(), Изменить размер (размер_изображения), CenterCrop(размер_изображения), преобразует.ToTensor(), Transforms.Lambda(лямбда т: (т * 2) - 1) ]) # определение функции def преобразует (примеры): example["pixel_values"] = [transform(image) для изображения в примерах["image"]] примеры["изображение"] примеры возврата Transformed_dataset = dataset.with_transform(transforms).remove_columns("метка") # создаём загрузчик данных dataloader = DataLoader(transformed_dataset["train"], patch_size=batch_size, shuffle=True) # print(тип(загрузчик данных)) пакет = следующий (iter (загрузчик данных)) печать(batch.keys()) Выдает ошибку в строке batch = next(iter(dataloader))

Там написано TypeError: img должен быть PIL Image. Получил . Не могу понять проблему с кодом. Буду признателен, если сообщество сможет помочь.

РЕДАКТИРОВАТЬ: Полная обратная трассировка:
Traceback (самый последний вызов — последний): Файл «diff_lsun_church.py», строка 486, в пакет = следующий (iter (загрузчик данных)) Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py», строка 521, в __next__ данные = self._next_data() Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py», строка 561, в _next_data data = self._dataset_fetcher.fetch(index) # может вызвать StopIteration Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", строка 49, при извлечении data = [self.dataset[idx] для idx в возможно_batched_index] Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py», строка 49, в data = [self.dataset[idx] для idx в возможно_batched_index] Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/datasets/arrow_dataset.py", строка 2166, в __getitem__ ключ, Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/datasets/arrow_dataset.py», строка 2151, в _getitem pa_subtable, ключ, formatter=formatter, format_columns=format_columns, output_all_columns=output_all_columns Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/datasets/formatting/formatting.py», строка 532, в format_table вернуть форматтер (pa_table, query_type=query_type) Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/datasets/formatting/formatting.py», строка 281, в __call__ вернуть self.format_row(pa_table) Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/datasets/formatting/formatting.py», строка 387, в format_row formatted_batch = self.format_batch(pa_table) Файл «/home1/rishi_suman/.local/lib/python3.6/site-packages/datasets/formatting/formatting.py», строка 418, в format_batch вернуть self.transform(пакетный) Файл «diff_lsun_church.py», строка 475, в преобразованиях example["pixel_values"] = [transform(image) для изображения в примерах["image"]] Файл «diff_lsun_church.py», строка 475, в example["pixel_values"] = [transform(image) для изображения в примерах["image"]] Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/torchvision/transforms/transforms.py", строка 61, в __call__ img = т(изображение) Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", строка 1102, в _call_impl return front_call(*input, **kwargs) Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/torchvision/transforms/transforms.py", строка 304, вперед return F.resize(img, self.size, self.interpolation, self.max_size, self.antialias) Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/torchvision/transforms/functional.py", строка 419, изменен размер. return F_pil.resize(img, size=size, interpolation=pil_interpolation, max_size=max_size) Файл "/home1/rishi_suman/.local/lib/python3.6/site-packages/torchvision/transforms/functional_pil.py", строка 233, изменен размер поднять TypeError('img должно быть изображением PIL. Got {}'.format(type(img))) Ошибка типа: img должен быть изображением PIL. Получил
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»