Курс 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. Логирование с Logzero
  2. Импорт модулей в Python 3.12
  3. Работа с WindowsPath()
  4. Разделение строки с помощью split()
  5. Установка и обучение ChatterBot
  6. Сложение матриц в NumPy
  7. Участие в сообществе @selectel
  8. Замена переменных в Python
  9. Извлечение данных из JSON
  10. Переопределение метода len
  11. Обновление шаблона base.html
  12. Работа со строками в Python
  13. Значения по умолчанию в Python
  14. Метод enumerate() в Python
  15. Метод append() для списка
  16. Изменение регистра данных
  17. Работа с zip()
  18. Парсинг статей с Newspaper3k
  19. Обработка исключений с блоком else
  20. Генерация случайных данных в NumPy
  21. Декораторы классов
  22. Обработка исключений в Python
  23. Python Метод sleep() из time
  24. Работа с кортежами в Python
  25. Дизассемблирование Python кода
  26. Python: динамическая типизация и проверка типов
  27. Проверка версии Python
  28. Проверка однородности элементов списка
  29. Экспорт данных с помощью writefile
  30. Установка и использование Telegram API в Python
  31. Оператор space-invader
  32. Установка и загрузка Instaloader
  33. Создание файла с проверкой ошибки
  34. Конвертация текстовых чисел с помощью Numerizer
  35. Подсчет частотности элементов в Python
  36. Генерация резюме в Gensim
  37. Генерация фальшивых данных с Faker
  38. Операции с числами в Python
  39. Преобразование символов в нижний регистр
  40. Создание списка дат
  41. Метод __ilshift__ для битового сдвига влево
  42. Работа с временем в Python
  43. Оператор in для проверки наличия элемента
  44. Работа с байтовыми строками в Python
  45. Утечки переменных цикла в Python 3.x

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