Курс 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. Метод __int__ в Python
  2. Итерация по итерируемым объектам
  3. Определение размера папок в Python
  4. Явный импорт в Python
  5. Оператор «is not» в Python
  6. Распаковка элементов последовательности
  7. Оператор in для Python
  8. Метод rmatmul для пользовательских матриц
  9. Операции с матрицами в Python
  10. Применение функции map() с лямбда-функциями
  11. Лямбда-функции в Python
  12. Определение объема памяти объекта
  13. Приближение чисел в Python
  14. Удаление ресурса в Python
  15. Сортировка слиянием
  16. Сравнение объектов в Python
  17. Замена символов в строке
  18. Python: отсутствие точек с запятыми
  19. Построение графиков в терминале с bashplotlib
  20. *args и **kwargs в Python
  21. Статическая типизация в Python
  22. Преобразование списка в словарь через генератор
  23. Оператор распаковки в Python
  24. Тип CodeType в Python.
  25. Ускорение выполнения кода в Python
  26. Python Метод sleep() из time
  27. Условное добавление элементов в список
  28. Описание скриптов в README
  29. Отладчик pdb: начало работы
  30. Динамические маршруты во Flask
  31. Создание словарей и множеств в Python
  32. Модуль itertools: эффективная работа с итераторами
  33. Обновление множества в Python
  34. Инвертирование словаря
  35. Метод __float__ в Python
  36. Создание вложенного генератора
  37. Метод get() для словарей
  38. Отслеживание выполнения программы с библиотекой tqdm
  39. Методы split() и join() — Python строк.
  40. Работа с байтовыми строками в Python
  41. Измерение времени выполнения
  42. Метод сравнения объектов в Python
  43. Отделение звука от видео
  44. Python Enum Weekday Usage
  45. Декоратор проверки активности
  46. Работа с изменяемыми коллекциями

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