Курс 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. Идентификатор объекта в Python
  3. Запуск Python из интерпретатора
  4. Конкатенация строк в Python
  5. Хеширование паролей с использованием salt
  6. Удаление символов новой строки в Python.
  7. Magic Commands — улучшение работы с Python
  8. Функция product() из itertools
  9. Использование html-скриптов в Jupyter Notebook
  10. Python: изменяемые и неизменяемые коллекции
  11. Курсы Яндекс Практикум
  12. Модуль antigravity: генерация координат
  13. Преобразование типов данных в set comprehension
  14. Блок else в Python
  15. Распаковка элементов массива
  16. Декоратор Property в Python
  17. GitHub в Telegram: подписка на уведомления
  18. Работа с библиотекой requests
  19. Функция sleep() в Python
  20. JSON в Python: модуль, dump, dumps, load
  21. Работа с временем в Python
  22. Работа с множествами в Python
  23. Удаление файлов в Python
  24. Именование столбцов в Python с pandas
  25. Классы данных в Python
  26. ChainMap.new_child() — добавление нового словаря
  27. Модуль sys: основы
  28. Python Метод sleep() времени
  29. Создание треугольника Паскаля
  30. Создание .exe файла с pyinstaller
  31. Хеширование паролей с солью
  32. Работа с CSV файлами
  33. Подсчет частотности элементов в Python
  34. Работа с файлами в Python
  35. Многоточие в Python
  36. Объединение списков с использованием itertools.chain
  37. Оператор распаковки в Python
  38. Работа с Enum в Python3.
  39. Оператор объединения словарей
  40. Проверка списка: any() и all()
  41. Разделение строк в Python
  42. Именованные аргументы в Python
  43. Лямбда-функции в defaultdict
  44. Сохранение и загрузка модели в PyTorch
  45. Работа со случайными элементами
  46. Возвращение нескольких значений

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