半监督之数据加载(带validation)

本文介绍了如何在半监督学习中构建数据加载器,包括分开处理标记和未标记的数据,并提供了包含验证集的示例代码。若不需要验证集,可以调整代码以分别处理标记和未标记数据。
摘要由CSDN通过智能技术生成

带validation, label和unlabel dataloader 分开,如果不需要验证集,同时需要把label 和 unlabel data分开设置loader可参考下面代码进行修改,删除validation部分。

 

import torchvision.transforms as transforms
from torchvision import datasets
from torch.utils.data import DataLoader
from torch.utils.data.sampler import Sampler, SubsetRandomSampler
import numpy as np
from functools import reduce
from operator import __or__

def load_data_val(path, args):

    if args.dataset == 'cifar10':
        mean = [x / 255 for x in [125.3, 123.0, 113.9]]
        std = [x / 255 for x in [63.0, 62.1, 66.7]]
    elif args.dataset == 'cifar100':
        mean = [x / 255 for x in [129.3, 124.1, 112.4]]
        std = [x / 255 for x in [68.2, 65.4, 70.4]]
    elif args.dataset == 'svhn':
        mean = [x / 255 for x in [127.5, 127.5, 127.5]]
        std = [x / 255 for x in [127.5, 127.5, 127.5]]
    elif args.dataset == 'mnist':
        mean = (0.5,)
        std = (0.5,)
    elif args.dataset == 'stl10':
        assert False, 'Do not finish stl10 code'
    elif args.dataset == 'imagenet':
        assert False, 'Do not finish imagenet code'
    else:
        assert False, "Unknow dataset : {}".format(args.dataset)

    if args.dataset == 'svhn':
        train_transform = transforms.Compose([
            transform
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值