Курс 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. Вычисление натуральных логарифмов в NumPy
  2. Символ подчеркивания в Python
  3. Работа с итераторами в Python
  4. Обработка ошибок в Python
  5. Python groupby() из itertools: работа с повторяющимися элементами
  6. Преобразование объекта в строку
  7. Подсчет частотности элементов в Python
  8. Установка виртуального окружения Python
  9. Многострочные комментарии в Python
  10. Реализация метода __abs__ в Python
  11. Списковое включение в Python
  12. Пропуск строк в файле с itertools
  13. Удаление элемента по индексу в Python
  14. Нарезка списков в Python
  15. Python Метод del.
  16. Использование *args
  17. Работа с пакетами
  18. Объединение словарей в Python
  19. Оператор «моржа» (Walrus Operator)
  20. Основные операции с библиотекой Numpy
  21. Аннотации типов в Python
  22. Объединение словарей в Python
  23. Ускорение выполнения кода в Python
  24. Использование эмодзи в Python
  25. Тестирование функции сложения
  26. Реверс строки и списка в Python.
  27. Виртуальное окружение Python
  28. Lambda Functions in Python
  29. Изменение списка срезом
  30. Работа с контекстным менеджером Pool
  31. Модуль sys: основы
  32. Удаление элементов из списка
  33. Операции с кортежами
  34. Операторы присваивания в Python
  35. Модуль inspect: получение информации о объектах
  36. Создание GUI на Tkinter
  37. Хранение данных с помощью dataclasses
  38. Работа с YAML в Python
  39. Работа с областями видимости переменных
  40. Создание списка дат
  41. Установка и использование Telegram API в Python
  42. Оператор «not» в Python
  43. Метод pos в Python
  44. Именование переменных в Python
  45. Векторизация в Python с NumPy.
  46. Работа с итераторами в Python

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