Курс 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. Списковое включение в Python
  2. Работа с массивами в Numpy
  3. Работа со словарями с defaultdict из collections
  4. Оператор continue в Python
  5. Измерение времени выполнения кода
  6. Объединение списков в строку
  7. Быстрый поиск кода
  8. Замена символов в Python
  9. Декораторы в Python
  10. Многострочные комментарии в Python
  11. Работа с словарями в Python
  12. Namedtuple в Python
  13. Подсказки типов в Python
  14. Работа с парами ключ-значение
  15. Библиотека schedule: планировщик задач
  16. Функция format() в Python
  17. Операторы увеличения и уменьшения в Python
  18. Обработка исключения UnboundLocalError
  19. Просмотр файла в Jupyter Noteboo
  20. Сравнение объектов в Python
  21. Лямбда-функции в Python
  22. Создание лямбда-функций
  23. Ветвление выражения в Python
  24. Синтаксис переменных цикла в Python
  25. Получение текущей даты в Python
  26. Метод ifloordiv для пользовательских классов
  27. Python enumerate() использование
  28. Работа со словарями в Python
  29. Объединение словарей в Python
  30. Область видимости переменных в Python
  31. Отправка поздравлений по дню рождения
  32. Изменение списка срезами
  33. Логирование с Logzero: ротация файла
  34. Присвоение значений переменным в Python
  35. Сериализация объектов в Python
  36. Добавление Progressbar в Python
  37. Преобразование Excel в PDF с Spire.XLS
  38. Удаление дубликатов из списка с помощью dict.fromkeys
  39. Установка и использование emoji
  40. Преобразование кортежа в словарь.
  41. Упрощение работы с JSON-данными в Python
  42. lru_cache оптимизация функций
  43. Команда %dhist — список посещенных каталогов
  44. Разделение строк в Python

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