Вы можете использовать torchvision для этого. Предполагая, что у вас есть все обучающие / тестовые изображения, разделенные на две папки с именами train
и test
, вот пример кода для загрузки и перебора изображений:
import torchvision
from torchvision import datasets, transforms
def load_dataset(data_path):
dataset = torchvision.datasets.ImageFolder(
root=data_path,
transform=transforms.Compose([torchvision.transforms.ToTensor()])
)
data_loader = torch.utils.data.DataLoader(
dataset,
batch_size=1,
num_workers=0,
shuffle=True
)
return data_loader
train_loader = load_dataset(f'{base_dir}/train')
test_loader = load_dataset(f'{base_dir}/test')
for batch_idx, (data, _) in enumerate(train_loader):
# Train model
...
for batch_idx, (data, _) in enumerate(test_loader):
# Evaluate model
Вы можете увеличить batch_size
если вы хотите обучать вашу модель партиями, добавьте преобразователи к аргументу transform
, чтобы увеличить изображения и многое другое.
Ознакомьтесь с документацией: https://pytorch.org/docs/stable/torchvision/index.html