Курс 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. Функция findall() для поиска вхождений строки
  3. Декодирование байтов в строку
  4. Встроенные функции Python
  5. Операторы увеличения и уменьшения в Python
  6. Генераторы в Python
  7. Генератор данных в Keras
  8. Вывод с переменной через запятую
  9. Поиск шаблона в строке
  10. Цикл for в Python
  11. Добавление элементов в список
  12. Избегайте пустого списка
  13. Удаление элемента по индексу
  14. Объединение словарей в Python
  15. Метод setitem в Python
  16. Оптимизация сравнения в Python
  17. Аннотации типов в Python
  18. Создание списка через итерацию
  19. Измерение времени выполнения кода
  20. Операции с датами в Python
  21. Numpy: использование Ellipsis
  22. Слияние словарей в Python 3.9
  23. Копирование объектов в Python
  24. Библиотека Chartify: руководство
  25. Оператор += для объединения строк
  26. Метод remove() для удаления элемента из списка
  27. Получение комбинаций в Python
  28. Строки в Python: апострофы и кавычки
  29. Обработка исключений в Python
  30. Функции map() и reduce() в Python
  31. Ввод нескольких значений
  32. Функции с дополнением
  33. lru_cache оптимизация функций
  34. Форматирование данных с помощью pprint
  35. Создание новых функций с помощью functools.partial
  36. Асинхронное программирование с asyncio
  37. Python Translator: создание локальных переводчиков
  38. Работа с f-строками 2.0
  39. Логирование с Logzero
  40. Получение значений из словарей
  41. Метод count в Python: почему count(», ») возвращает 4?
  42. Функциональное программирование.
  43. Очистка данных в Python
  44. Обход элементов в Python
  45. Метод __iand__ для пользовательских классов
  46. Просмотр файла в Jupyter Noteboo

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