Курс Python → Работа с набором данных CIFAR10 в PyTorch

Для работы с наборами данных в PyTorch используются модули Dataset и DataLoader. Модуль Dataset представляет собой абстракцию, которая предоставляет доступ к данным, а модуль DataLoader используется для загрузки данных в модели PyTorch. В данном случае мы рассмотрим использование набора данных CIFAR10, который содержит изображения различных классов.

Для начала работы с набором данных CIFAR10 необходимо его загрузить. PyTorch уже содержит встроенные функции для загрузки популярных наборов данных, включая CIFAR10. После загрузки данных их необходимо предварительно обработать, например, провести нормализацию или преобразование изображений в тензоры. Для этого можно использовать функцию torchvision.transforms.


import torch
import torchvision
import torchvision.transforms as transforms

# Загрузка набора данных CIFAR10
train_dataset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transforms.ToTensor())
test_dataset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transforms.ToTensor())

После предварительной обработки данных необходимо создать DataLoader, который будет загружать данные в модель батчами. DataLoader позволяет эффективно работать с большими объемами данных и автоматически разбивает данные на батчи, управляет перемешиванием и подгрузкой данных в память.


# Создание DataLoader
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=64, shuffle=False)

Теперь у вас есть готовые DataLoader для обучения и тестирования модели на наборе данных CIFAR10. Вы можете использовать их для итерации по данным в цикле обучения, передавая батчи данных в модель и вычисляя потери. Это позволит вам эффективно использовать набор данных и обучать модели глубокого обучения в PyTorch.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Отслеживание прогресса с tqdm
  2. Удаление символов новой строки в Python.
  3. Перетасовка списков в Python
  4. Pretty-printing JSON в Python
  5. Подписка на @SelectelNews
  6. Работа с файлами в Python
  7. Декораторы с аргументами в Python
  8. GitHub в Telegram: подписка на уведомления
  9. Установка и использование библиотеки google
  10. Работа с библиотекой requests
  11. Логический оператор «and» в Python
  12. Работа с рекламными данными в Pandas
  13. Обработка исключений
  14. Работа с путями в Python
  15. Чтение бинарного файла в Python.
  16. Операции со строками в Python
  17. Эффективная конкатенация строк с использованием join()
  18. Подсказки при вводе данных в Python
  19. Присвоение и ссылки
  20. Философия Python
  21. Объединение списков в Python
  22. Работа с исключениями в Python
  23. Добавление цвета в консоли
  24. Логирование в Python
  25. Изменение регистра данных
  26. Numpy: разбиение массивов
  27. Использование type hints
  28. Импорт модулей в Python 3.12
  29. Применение промокода в Много лосося
  30. Принципы программирования
  31. Разница между датами
  32. Метод splitlines() для разделения строк
  33. Управление пакетами с pip
  34. Concrete Paths в Python
  35. Официальный канал Python в Telegram
  36. Распаковка аргументов в Python
  37. Установка пакетов с помощью pip
  38. Метод pop() списка
  39. Проекты на Python
  40. Счетчик в Python: most_common()
  41. Подсчет элементов в Python
  42. Генерация ключей RSA
  43. Работа с кортежами в Python
  44. Принципы программирования
  45. Переопределение метода __eq__
  46. Функция reduce() в Python

Marketello читают маркетологи из крутых компаний