Курс 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. Декораторы в Python
  3. Фильтрация последовательности
  4. Работа с collections в Python.
  5. Принципы LSP и ISP в Python
  6. Метод rpow в Python
  7. Разделение строки на подстроки в Python
  8. Инициализация объекта
  9. Методы shutil для работы с файлами
  10. Конвертация текстовых чисел с помощью Numerizer
  11. Отправка поздравлений по дню рождения
  12. Определение основы слова с showballstemmer
  13. Добавление кнопки в tkinter
  14. Синхронизация потоков с time.sleep()
  15. Виртуальные среды в Python
  16. Метод get() для словарей
  17. Модуль itertools: эффективная работа с итераторами
  18. Протокол управления контекстом
  19. Функция enumerate() в Python
  20. Аннотации типов в Python
  21. Удаление falsy-значений из списка с помощью filter
  22. Метод rxor для операции побитового исключающего «или»
  23. Поиск анаграмм с Counter
  24. Уникальные значения из списка
  25. Работа со строками в Python
  26. Установка и использование Logzero
  27. Разрешение имен в Python
  28. Работа с PosixPath() в Python
  29. Безопасные SQL-запросы в Python 3.11
  30. Инверсия списка и строки
  31. Создание графики с черепахой
  32. Обновление и получение данных в SQLite
  33. Объединение Python и Shell
  34. Объединение списков в строку
  35. Оператор «and» в Python
  36. Pretty-printing JSON в Python
  37. Списковые включения в Python
  38. Использование type hints
  39. Генераторные функции в Python
  40. Преобразование списков в словарь
  41. Метод округления чисел
  42. Функция zip() в Python
  43. Избегание изменяемых аргументов
  44. %pinfo: получение информации об объекте
  45. Метод radd для пользовательских чисел

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