Батч картинок в PyTorch
Чтобы передать несколько изображений одним тензором, у него четыре оси. Порядок такой: число картинок в пакете, число каналов, высота, ширина. Каналы для цветной картинки обычно три - красный, зелёный и синий слой.
Соберём нулевой батч из двух
картинок с тремя каналами и
полем 8 на 8 и
посмотрим размеры:
import torch
batch = torch.zeros(2, 3, 8, 8)
print(batch.shape) # выведет torch.Size([2, 3, 8, 8])
Первая ось - это сколько картинок идут вместе. Вторая - сколько каналов у каждой. Третья и четвёртая - высота и ширина в пикселях. Тот же порядок сохраняется, если заполнить батч случайными числами:
import torch
batch = torch.rand(2, 3, 8, 8)
print(batch.shape) # выведет torch.Size([2, 3, 8, 8])
Создайте батч из 4 картинок,
1 канала и поля 16
на 16, заполненный нулями.
Выведите размеры по каждой оси.
Соберите пакет из одной картинки
с 3 каналами и стороной
32 из случайных чисел
от 0 до 1.
Выведите размеры по каждой оси.
Подготовьте нулевой тензор для
8 изображений, 3
каналов, высоты 64 и
ширины 64.
Выведите, сколько осей у тензора
и длину каждой из них.