Курс 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 с pandas
  2. Генерация QR-кодов с библиотекой qrcode
  3. Импорт с альтернативным именем
  4. Списки в Python: синтаксис представления
  5. Нахождение самого длинного слова в списке с помощью max
  6. Разрешение имен в Python
  7. Оптимизация памяти с __slots__
  8. Рекурсия для обращения строки
  9. Python Ellipsis использование
  10. UserString в Python
  11. Активация Matplotlib в Jupyter
  12. Python 3.12: Псевдонимы типов
  13. Наиболее частотные элементы с помощью Counter
  14. Извлечение данных из JSON
  15. Объединение списков с помощью zip
  16. Автоматизация с Python
  17. Функция enumerate в Python
  18. Профилирование с Pandas
  19. Фильтрация списков с itertools
  20. Исправление ошибки NameError
  21. Метод __call__ в Python
  22. Объединение объектов в Python
  23. Проверка на палиндром
  24. Получение комбинаций в Python
  25. Сравнение строк в Python
  26. Поиск файлов по шаблону
  27. Передача словаря через **kwargs
  28. Пространство имен в Python
  29. Измерение времени выполнения кода
  30. Метод radd для пользовательских чисел
  31. Установка и использование библиотеки google
  32. Метод rename() для переименования файлов и каталогов
  33. Оптимизация гиперпараметров в Python
  34. Использование эмодзи в Python
  35. Оператор walrus в Python
  36. Аргумент по умолчанию
  37. Защита данных в Python
  38. Dict Comprehension в Python
  39. Разбиение строки в Python
  40. Отладка регулярных выражений в Python
  41. Создание задания в Cron
  42. Удаление дубликатов из списка
  43. Сортировка с параметром key
  44. Имена объектов в Python
  45. Декораторы в Python
  46. Форматирование строк в Python
  47. Генерация случайных чисел в Python

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