Курс 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. Метод hash в Python
  3. Пространство имен в Python
  4. Работа с базами данных SQLite
  5. Codecademy в Telegram
  6. Печать календаря
  7. Создание новых списков через list comprehensions
  8. Переворот списка в Python
  9. Блок else в циклах Python
  10. Работа с Event() в threading
  11. Оператор «моржа» (Walrus Operator)
  12. Декораторы в Python
  13. Вложенные генераторы в Python
  14. Разделение строк в Python
  15. Форматирование даты с strftime()
  16. Импорт модулей в Python 3.12
  17. Измерение времени выполнения кода
  18. Переворот строки с помощью срезов
  19. Импорт модулей в Python 3.12
  20. Определение наиболее частого элемента с помощью collections.Counter
  21. Оператор «not» в Python
  22. Распаковка элементов последовательности
  23. Декораторы с аргументами в Python
  24. Форматирование чисел в Python
  25. inspect в Python: анализ кода
  26. Замена символов в Python
  27. Вставка переменных в шаблоны Flask
  28. Извлечение аудио из видео
  29. Пустой оператор pass в Python
  30. Декораторы в Python
  31. Отношения подклассов в Python
  32. Тернарный оператор в Python
  33. Проверка наличия элемента в списке
  34. Получение частей дроби
  35. Оператор in в Python
  36. Протокол управления контекстом
  37. Импорт классов из другого файла
  38. Объединение словарей в Python
  39. Структура данных словарь в Python
  40. Создание .exe файла с pyinstaller
  41. Работа с collections.Counter
  42. Логические значения в Python
  43. Python Метод Union Множеств
  44. Оператор Walrus в Python
  45. Встроенные функции Python
  46. Создание пользовательской коллекции в Python
  47. Удаление файлов в Python

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