【问题标题】:how to load the data and how to do data augmentation using pytorch如何加载数据以及如何使用 pytorch 进行数据扩充
【发布时间】:2020-06-18 04:07:26
【问题描述】:
我是Pytorch的新手,我正在做图像分类问题,但是我不明白如何从加载目录加载图像,请帮助我如何加载数据图像数据以及如何增强。
我的数据如下所示:
train=pd.read_csv('dataset/train.csv')
test=pd.read_csv('dataset/test.csv')
train.head()
Image Class
0 image7042.jpg Food
1 image3327.jpg misc
2 image10335.jpg Attire
3 image8019.jpg Food
4 image2128.jpg Attire
这里是我的图片文件夹:
file_path='dataset/Train Images'
【问题讨论】:
标签:
deep-learning
pytorch
【解决方案1】:
您可以为此使用 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