Курс 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. Метод getitem для доступа к элементам последовательности
  3. Особенности ключей словаря в Python
  4. Конкатенация строк в Python
  5. Модуль itertools: комбинации и перестановки
  6. Функция с **kwargs в Python
  7. Склеивание строк без циклов
  8. Оператор in для Python
  9. Присвоение значений переменным в Python
  10. Метод eq для сравнения объектов
  11. Управление IP-адресами через прокси
  12. Подчеркивание в REPL
  13. *args и **kwargs в Python
  14. Подсчет частотности элементов в Python
  15. enumerate() в Python для работы с индексами
  16. Методы __repr__ и __str__ в Python
  17. Получение списка файлов в директории с использованием os
  18. Анонимные функции в Python
  19. Работа с временем в Python
  20. Метод rsub для пользовательских чисел
  21. Вывод переменной и строки в Python
  22. Комментарии в Python
  23. Метод init в Python
  24. Применение функции к списку
  25. Сравнение def и lambda функций в Python
  26. Метод clear для коллекций
  27. Итераторы с потерямиZIP
  28. Роль object и type в Python
  29. Списковое включение в Python
  30. Работа с модулем bisect
  31. Блок try-except-else
  32. Управление браузером с Selenium
  33. Сортировка в Python
  34. Множественное назначение в Python
  35. Работа с CSV файлами в Python
  36. Генераторы списков
  37. Работа с асинхронными задачами в Python
  38. Извлечение новостей с помощью newspaper3k
  39. Встраивание HTML в Jupyter Notebook
  40. Символ подчеркивания в Python
  41. Основы Python
  42. Контроль точности вывода чисел

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