Изучение MNIST, CIFAR-10, CIFAR-100, ImageNet и Fashion MNIST

Оглавление:

  1. МНИСТ
  2. СИФАР-10
  3. СИФАР-100
  4. Имиджнет
  5. Мода МНИСТ

МНИСТ

  • Полная форма: модифицированный Национальный институт стандартов и технологий.
  • Год создания: 1998
  • Количество изображений: 70 000 (60 000 для обучения и 10 000 для тестирования)
  • Размер изображения: 28x28 пикселей
  • Цвет: Оттенки серого
  • Тип данных: рукописные цифры (0–9)
  • Размер набора данных: примерно 11 МБ.

Загрузка MNIST в PyTorch

import torch
import torchvision
import torchvision.transforms as transforms

# Define data transformations
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])  # Normalize images
])

# Download and load the MNIST dataset
train_dataset = torchvision.datasets.MNIST(root='./data', train=True, transform=transform, download=True)
test_dataset = torchvision.datasets.MNIST(root='./data', train=False, transform=transform, download=True)

# Create data loaders
train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)
test_loader = torch.utils.data.DataLoader(dataset=test_dataset, batch_size=64, shuffle=False)

СИФАР-10

  • Полная форма: Канадский институт перспективных исследований — 10 классов
  • Год создания: 2009
  • Количество изображений: 60 000 (50 000 для обучения и 10 000 для тестирования)
  • Размер изображения: 32x32 пикселя
  • Цвет: красочный (RGB)
  • Тип данных: различные объекты 10 классов (например, самолет, автомобиль, птица и т. д.)
  • Размер набора данных: примерно 170 МБ.

Загрузка CIFAR-10 в PyTorch

import torch
import torchvision
import torchvision.transforms as transforms

# Define data transformations
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])  # Normalize images
])

# Download and load the CIFAR-100 dataset
train_dataset = torchvision.datasets.CIFAR10(root='./data', train=True, transform=transform, download=True)
test_dataset = torchvision.datasets.CIFAR10(root='./data', train=False, transform=transform, download=True)

# Create data loaders
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)

СИФАР-100

  • Полная форма: Канадский институт перспективных исследований — 100 занятий.
  • Год создания: 2009
  • Количество изображений: 60 000 (50 000 для обучения и 10 000 для тестирования)
  • Размер изображения: 32x32 пикселя
  • Цвет: красочный (RGB)
  • Тип данных: различные объекты в 100 подробных классах.
  • Размер набора данных: примерно 170 МБ.

Загрузка CIFAR-100 в PyTorch

import torch
import torchvision
import torchvision.transforms as transforms

# Define data transformations
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])  # Normalize images
])

# Download and load the CIFAR-100 dataset
train_dataset = torchvision.datasets.CIFAR100(root='./data', train=True, transform=transform, download=True)
test_dataset = torchvision.datasets.CIFAR100(root='./data', train=False, transform=transform, download=True)

# Create data loaders
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)

Имиджнет

  • Год создания: 2009 (исходный набор данных), последующие версии и задачи позже.
  • Количество изображений: более 1 миллиона (зависит от версии)
  • Размер изображения: варьируется, обычно изображения большего размера
  • Цвет: красочный (RGB)
  • Тип данных: большое разнообразие объектов в тысячах классов.
  • Размер набора данных: несколько ГБ (может быть более 150 ГБ для полного набора данных)

Загрузка ImageNet в PyTorch

import torch
import torchvision
import torchvision.transforms as transforms

# Define data transformations
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])  # Normalize images
])

# Download and load the ImageNet dataset
train_dataset = torchvision.datasets.ImageNet(root='./data', split='train', transform=transform, download=True)
test_dataset = torchvision.datasets.ImageNet(root='./data', split='val', transform=transform, download=True)

# Create data loaders
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)

Вы столкнетесь с этой ошибкой при загрузке

RuntimeError: Архив ILSVRC2012_devkit_t12.tar.gz отсутствует в корневом каталоге или поврежден. Вам нужно загрузить его извне и поместить в ./data.

Чтобы решить эту проблему, вам нужно вручную загрузить архив комплекта разработки и поместить его в указанный каталог (./data) перед запуском кода.

Мода МНИСТ

  • Полная форма: Fashion Modified National Institute of Standards and Technology
  • Год создания: 2017
  • Количество изображений: 70 000 (60 000 для обучения и 10 000 для тестирования)
  • Размер изображения: 28x28 пикселей
  • Цвет: Оттенки серого
  • Тип данных: модные товары (например, рубашки, брюки, кроссовки и т. д.)
  • Размер набора данных: примерно 29 МБ.

Загрузка ImageNet в PyTorch

import torch
import torchvision
import torchvision.transforms as transforms

# Define data transformations
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])  # Normalize images
])

# Download and load the CIFAR-100 dataset
train_dataset = torchvision.datasets.FashionMNIST(root='./data', train=True, transform=transform, download=True)
test_dataset = torchvision.datasets.FashionMNIST(root='./data', train=False, transform=transform, download=True)

# Create data loaders
train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)
test_loader = torch.utils.data.DataLoader(dataset=test_dataset, batch_size=64, shuffle=False)

Спасибо

Спасибо, что нашли время прочитать эту статью.

Я ценю ваши отзывы! Если у вас есть какие-либо комментарии или вопросы, поделитесь ими со мной в комментарии или напишите мне напрямую.