Курс 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. Функция zip() — объединение последовательностей
  3. Просмотр файла в Jupyter Noteboo
  4. Метод ne для сравнения объектов
  5. enumerate() в Python для работы с индексами
  6. Быстрый поиск кода
  7. Названия столбцов в Python таблицах
  8. Замена текста в Python
  9. Генераторы в Python
  10. Установка пакета в Python
  11. Создание списков в Python
  12. Метод rename() для переименования файлов и каталогов
  13. Docstring в Python
  14. Работа с JSON данными в Python
  15. Concrete Paths в Python
  16. Работа с itertools
  17. Функция zip() в Python
  18. Разделение строки с помощью re.split()
  19. Разбиение строки в Python
  20. Класс Counter() для подсчета элементов
  21. Оператор is в Python
  22. Создание таблиц в терминале с PrettyTable
  23. Управление браузером с Selenium
  24. Генератор списка с условием if
  25. Импорт с альтернативным именем
  26. Метод clear для коллекций
  27. Переопределение метода __or__()
  28. Декоратор @override
  29. Лимиты на ресурсы Python
  30. Список и кортеж в Python
  31. Переопределение метода
  32. Работа с областями видимости переменных
  33. Передача параметров в Python
  34. discard() — удаление элемента из множества
  35. Модуль itertools: эффективная работа с итераторами
  36. Комментарии в Python
  37. Удаление специальных символов
  38. Копирование и вставка текста в Python
  39. Обязательные аргументы в Python
  40. Конкатенация строк с методом join()
  41. GitHub в Telegram: подписка на уведомления
  42. Python Translator: создание локальных переводчиков
  43. Перевернуть список в Python
  44. Декоратор для группы пользователей в Django
  45. Python: библиотеки и функции
  46. Принципы LSP и ISP в Python
  47. Метод __ilshift__ для битового сдвига влево

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