Курс 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. Проблемы с dict в Python
  3. Улучшение читаемости кода в Python
  4. Python-dateutil — работа с датами
  5. Частичное совпадение ввода
  6. Каналы Senior: Python, Java, Frontend, SQL, C++
  7. Метод rsub в Python: расширение функциональности вычитания
  8. Работа с аргументами командной строки
  9. Работа с CSV файлами в Python
  10. Хранение данных
  11. Библиотека funcy: удобные утилиты
  12. Работа с библиотекой requests
  13. Экспорт внешнего файла с помощью writefile
  14. Работа с модулем random
  15. Фильтрация элементов с помощью islice
  16. Основные методы NumPy
  17. Определение основы слова с showballstemmer
  18. Профилирование данных с Pandas.
  19. Извлечение аудио из видео
  20. Метод Enumerate() для списков
  21. Управление ресурсами с контекстными менеджерами
  22. Анонимные функции Lambda
  23. Отображение HTML кода в Python
  24. Создание вложенных циклов for
  25. Оптимизация интернирования строк
  26. Flask: создание веб-приложений
  27. JMESPath в Python
  28. Тестирование с responses
  29. Безопасные SQL-запросы в Python 3.11
  30. Оператор распаковки в Python
  31. Декораторы классов
  32. Создание GUI на Tkinter
  33. Возврат нескольких значений
  34. Аннотации типов в Python
  35. Поиск уникальных элементов строкой в Python
  36. Python: библиотеки и функции
  37. Запрос пароля с помощью getpass
  38. Измерение времени выполнения
  39. Асинхронное выполнение задач в Python
  40. Структура данных словарь в Python
  41. Создание именованных кортежей в Python
  42. Работа с многоуровневыми словарями в Python

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