Наиболее эффективный способ использования большого набора данных изображений с Google Colab - Получение тайм -аута + ошиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Наиболее эффективный способ использования большого набора данных изображений с Google Colab - Получение тайм -аута + оши

Сообщение Anonymous »

Я использую Google colab для классификатора в Pytorch, и мой набор обучения имеет ~ 30 000 изображений JPEG, которые я хранил в своем Google Drive. Эффективно использование этого большого количества данных с Colab и Drive было кошмаром, в первую очередь потому, что мой Google Drive имеет тенденцию к сбою или «Time Out», когда я пытаюсь читать изображения из папки. т.е., мой набор данных pytorch объект выглядит как:

Код: Выделить всё

class Dataset(torch.utils.data.Dataset):
def __init__(self, image_ids, labels):
self.image_ids = image_ids
self.labels = labels

def __len__(self):
return len(self.image_ids)

def __getitem__(self, i):
img_path = f'drive/MyDrive/images/{image_ids[i]}'
img = transforms.ToTensor()(PIL.Image.open(img_path)
label = self.labels[i]
return img, label
Таким образом, когда __getitem __ вызывается, он считывает изображение из изображений папок в моем Google Drive (где хранятся все 30 000 изображений). Тем не менее, это создает проблему, что, когда я создаю DataLoader и цикл над Minibatches, это дает мне ошибку, что «время ожидания Google Drive», которая, по -видимому, иногда происходит с большими папками в Google Drive.

Tensordataset . Для этого я должен сначала создать огромный тензор всех 30000 учебных изображений, то есть формы (30000, 3, 128, 128) (каждое изображение 3x128x128), которое требует немного времени. Итак, я не могу делать это каждый раз, когда запускаю свой код, поэтому я пытаюсь сохранить этот большой тензор, но это приводит к проблемам памяти в моей колабах, что сбоятся во время выполнения. Кроме того, это как 12 ГБ, так что я уверен, что это не эффективный способ. < /P>
< /li>
< /ol>
Как я могу это сделать? Установка очень проста, но она оказалась немного раздражающей, потому что Google Drive не кажется созданным для этих вещей. У меня просто есть папка из 30 000 изображений, которые я хочу прочитать как тензоры Torch (в Minibatches для обучения) в Colab. Как лучше всего это сделать, и/или как я могу решить проблемы в подходах, которые я обсуждал выше? Но по какой -то причине чтение вещей из папки Google Drive, в которой есть много элементов (у этого есть 30 000), приводит к тому, что называется «Тайм -аутом Google Drive». Тот же процесс является тривиальным для процессора моего компьютера, но мне нужны графические процессоры для обучения, поэтому мне нужно иметь возможность сделать это на Colab. Я не знаю, как это решить.>

Подробнее здесь: https://stackoverflow.com/questions/749 ... etting-dri
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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