Курс 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. Вывод баннеров
  2. Счетчик в Python: most_common()
  3. Экспорт данных в файл.
  4. Метод rlshift для битового сдвига
  5. Dict Comprehension в Python
  6. Цикл for в Python
  7. Параллельные вычисления в Python
  8. Форматирование данных с pprint
  9. Python Метод Union Множеств
  10. Проверка индексов коллекции
  11. Создание даты из строки ISO
  12. Нахождение отличий в списках
  13. Создание коллекций из генератора
  14. Работа с областями видимости переменных
  15. Обработка исключений в Python
  16. Частичное совпадение пользовательского ввода в Python 3.10
  17. Преобразование многоуровневого словаря
  18. Преобразование списка в словарь через генератор
  19. Копирование объектов в Python
  20. Работа с файлами в Python
  21. Деление в Python
  22. Удаление элемента по индексу в Python
  23. Удаление символов новой строки в Python.
  24. Генераторы в Python
  25. *args и **kwargs в Python
  26. Импорт модулей в Python 3.12
  27. Проверка типа объекта в Python
  28. Получение ID текущего процесса
  29. Работа с модулем random
  30. Функциональное программирование в Python
  31. Фильтрация списков с itertools
  32. Модуль inspect: получение информации о объектах
  33. Удаление элементов из списка в Python
  34. Отправка POST-запроса в REST API
  35. Сортировка и разворот списка
  36. Хеши в Python
  37. Создание и удаление объектов
  38. Преобразование чисел в восьмеричную строку
  39. Инициализация переменных
  40. Инверсия списка и строки
  41. Утечки переменных цикла в Python 3.x
  42. Оператор in для Python
  43. Оптимизация интернирования строк

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