使用 PyTorch 搭建网络 - dataloader_py2篇

以AlexNet为例,添加一些PyTorch函数的整理。

torchvision.transforms.Compose()和torchvision.transforms.[functions]

Compose()类可以将多个transforms对象合在一起给数据进行预处理,常以多个transforms对象的list形式传入Compose()中,如transforms.Compose([])。transforms.[functions]则可以对多个输入数据进行变换,Compose()函数原型如下:

# 原型
torchvision.transforms.Compose(transforms)
# example
data_transform = {
    "train": transforms.Compose([
        transforms.RandomResizedCrop(224),
        transforms.RandomHorizontalFlip(),
        transforms.ToTensor(),
        transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
    ]),
    "val": transforms.Compose([
        transforms.Resize((224, 224)),
        transforms.ToTensor(),
        transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
    ])
}

torchvision.datasets.ImageFolder()类

ImageFolder()用于加载数据集,它说到底还是继承自torch.utils.data.Dataset,后续可以作为Dataset对象直接传入torch.utils.data.DataLoader中。对于ImageFolder(),root是要加载数据集的路径,transforms是对数据进行预处理的方式,函数原型和example如下:

# 原型
torchvision.datasets.ImageFolder(root: str, transform: Optional[Callable] = None, 
									target_transform: Optional[Callable] = None, loader: Callable[[str], Any] = <function default_loader>, is_valid_file: Optional[Callable[[str], bool]] = None)
# example
train_dataset = datasets.ImageFolder(root=project_path + "/flower_data/train", transform=data_transform["train"])

python 列表生成式和生成器

python 常见列表生成式 和 生成器,其中列表生成式以[]圈起,生成器以()圈起,常见列表生成器如下:

在这里插入图片描述

而生成器则是把中括号改成小括号。

# 列表生成式
generate_list = [i for i in range(10)  if i < 5]
# 生成器
cla_dict = dict((val, key) for key, val in flower_list.items())	# 解包取出键值对,生成dict字典,赋值给cla_dict
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值