Курс 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. Асинхронное программирование с asyncio
  2. Декораторы в Python
  3. Функция findall() для поиска вхождений строки
  4. Вложенные генераторы в Python
  5. Работа с JSON в Python
  6. Поиск шаблона в начале строки
  7. Удаление ссылок в Python
  8. Получение пути к текущему скрипту с помощью os
  9. Условное добавление элементов в список
  10. Класс UserDict: дополнительная функциональность
  11. Метод rlshift для битового сдвига
  12. Возвращение нескольких значений
  13. Обезопасьте ввод данных
  14. Форматирование строк с f-строками
  15. Работа с изменяемыми списками
  16. Операции с числами в Python
  17. Работа с многоуровневыми словарями в Python
  18. Многопоточность и асинхронное программирование в Python
  19. Работа с изображениями PIL
  20. Применение функции map() в Python
  21. Кортеж в Python: создание и использование
  22. Работа с модулем random
  23. Удаление символов новой строки в Python.
  24. Обучение модели с указанием эпох
  25. Получение размера объекта с sys.getsizeof()
  26. Поиск подстроки в строке
  27. enumerate() в Python для работы с индексами
  28. Декораторы в Python
  29. Управление браузером с Selenium
  30. Генерация тестовых данных с factory_boy
  31. Хеши в Python
  32. Каналы Senior: Python, Java, Frontend, SQL, C++
  33. Создание циклической ссылки
  34. Оптимизация гиперпараметров с Scikit Optimize
  35. Проверка однородности элементов списка
  36. Отладка кода
  37. Настройка шрифта и цвета в Tkinter
  38. Метод split() в Python
  39. Управление доступом к модулю
  40. Логирование с Loguru
  41. Метод hash в Python
  42. Генераторные выражения и islice.
  43. Работа с прокси в Python
  44. Эффективная конкатенация строк в Python
  45. Склеивание строк через метод join()
  46. Работа с YAML в Python: PyYAML.
  47. Просмотр файла в Jupyter Noteboo

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