Вопросы

Как загрузить набор данных CelebA в Google Colab с помощью Torch Vision, не исчерпывая памяти?

Я следую руководству по DCGAN. Каждый раз, когда я пытаюсь загрузить набор данных CelebA, torchvision использует всю мою оперативную память (12 ГБ), и среда выполнения дает сбой. Я ищу способы, как я могу загружать и применять преобразования к набору данных, не перегружая ресурсы времени выполнения.

Воспроизводить

Вот часть кода, вызывающая проблемы.

# Root directory for the dataset
data_root = 'data/celeba'
# Spatial size of training images, images are resized to this size.
image_size = 64

celeba_data = datasets.CelebA(data_root,
                              download=True,
                              transform=transforms.Compose([
                                  transforms.Resize(image_size),
                                  transforms.CenterCrop(image_size),
                                  transforms.ToTensor(),
                                  transforms.Normalize(mean=[0.5, 0.5, 0.5],
                                                       std=[0.5, 0.5, 0.5])
                              ]))

Полную записную книжку можно найти здесь

Среда

  • Версия PyTorch: 1.7.1 + cu101

  • Отладочная сборка: False

  • CUDA используется для сборки PyTorch: 10.1

  • ROCM, использованный для сборки PyTorch: N / A

  • ОС: Ubuntu 18.04.5 LTS (x86_64)

  • Версия GCC: (Ubuntu 7.5.0-3ubuntu1 ~ 18.04) 7.5.0

  • Версия Clang: 6.0.0-1ubuntu2 (теги / RELEASE_600 / final)

  • Версия CMake: версия 3.12.0

  • Версия Python: 3.6 (64-разрядная среда выполнения)

  • Доступен ли CUDA: True

  • Версия среды выполнения CUDA: 10.1.243

  • Модели и конфигурация графического процессора: GPU 0: Tesla T4

  • Версия драйвера Nvidia: 418.67

  • Версия cuDNN: /usr/lib/x86_64-linux-gnu/libcudnn.so.7.6.5

  • Версия среды выполнения HIP: N / A

  • Версия среды выполнения MIOpen: N / A

Читать:
Как изменить цвет строки состояния по умолчанию при переопределении стиля пользовательского интерфейса системы в Swift

Версии соответствующих библиотек:

  • [pip3] numpy == 1.19.4
  • [pip3] torch == 1.7.1 + cu101
  • [pip3] torchaudio == 0.7.2
  • pip3] torchsummary == 1.5.1
  • [pip3] torchtext == 0.3.1
  • [pip3] torchvision == 0.8.2 + cu101
  • [conda] Не удалось собрать

Дополнительный контекст

Вот некоторые из вещей, которые я пробовал:

  • Скачивание и загрузка набора данных по отдельным строкам. например:
# Download the dataset only
datasets.CelebA(data_root, download=True)
# Load the dataset here
celeba_data = datasets.CelebA(data_root, download=False, transforms=...)
  • Использование класса набора данных ImageFolder вместо класса CelebA. например:
# Download the dataset only
datasets.CelebA(data_root, download=True)
# Load the dataset using the ImageFolder class
celeba_data = datasets.ImageFolder(data_root, transforms=...)

Проблема с памятью сохраняется в любом из случаев.

Вам необходимо использовать dataloader   —  person Kinyugo    schedule 01.01.2021

Похоже, что руководство было обновлено, чтобы продемонстрировать использование класса torchvision.datasets.ImageFolder. Используя рецепт @kinyugo download + unzip (но не их собственный набор данных), остальная часть учебника проходит нормально на colab без ошибок памяти.   —  person Kinyugo    schedule 25.06.2021

Похожие записи

Vapor 4 PostgreSQL CRUD без HTTP-запросов

admin

Набор навыков Alexa (интерфейс AudioPlayer): воспроизведение звука без запроса после сеанса

admin

Джулия: Сделайте Dataframe из вывода итератора

admin

Symfony: ошибка установки пакета администрирования sonata

admin

Используйте препроцессор gcc, чтобы определить имя файла для #include

admin

Почему моя логика будущего Combine работает внутри кнопки, но не внутри ее собственной функции, вызываемой кнопкой?

admin