Курс 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. Метод setdefault() в Python
  2. Блок try-except-else
  3. Декораторы в Python
  4. Получение имени функции с помощью inspect
  5. Мощь вложенных функций в Python
  6. Метод get для словарей
  7. Цикл while в Python
  8. Сравнение неупорядоченных списков
  9. Классы данных в Python
  10. Работа с CSV в Python
  11. Форматирование строк в Python
  12. Непрерывная проверка в Python
  13. Декодирование байтов в строку
  14. Измерение времени выполнения кода
  15. Получение частей дроби
  16. Проверка типа объекта в Python
  17. Оператор распаковки в Python
  18. Управление IP-адресами через прокси
  19. Обмен значений переменных в Python
  20. Обработка исключений в Python
  21. Анонимные функции в Python
  22. Enum в Python
  23. Импорт классов из другого файла
  24. Поиск простых чисел
  25. Определение функций с необязательными аргументами
  26. Курсы Яндекс Практикум
  27. Скрытие вывода данных
  28. Объединение словарей в Python
  29. Деление в Python
  30. Добавление элементов в список
  31. Генераторы в Python
  32. Отладка производительности Python
  33. Метод add для класса Vector
  34. Работа с YAML в Python: PyYAML.
  35. Перевод текста с Python Translator
  36. Работа с Event() в threading
  37. Улучшенные подсказки для импорта в Python 3.12
  38. Переопределение метода
  39. Создание уникального множества
  40. Операторы += в Python
  41. Создание и обучение модели с Keras
  42. Работа с itertools
  43. Определение объема памяти объекта
  44. Функция findall() для поиска вхождений строки
  45. Поиск email
  46. Метод сравнения объектов в Python
  47. Установка и использование pyshorteners

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