Python torchvision.datasets.CIFAR100 Examples
The following are 30
code examples of torchvision.datasets.CIFAR100().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
torchvision.datasets
, or try the search function
.
Example #1
Source File: train.py From torch-light with MIT License | 7 votes |
def dataLoader(is_train=True, cuda=True, batch_size=64, shuffle=True): if is_train: trans = [transforms.RandomHorizontalFlip(), transforms.RandomCrop(32, padding=4), transforms.ToTensor(), transforms.Normalize(mean=[n/255. for n in [129.3, 124.1, 112.4]], std=[n/255. for n in [68.2, 65.4, 70.4]])] trans = transforms.Compose(trans) train_set = td.CIFAR100('data', train=True, transform=trans) size = len(train_set.train_labels) train_loader = torch.utils.data.DataLoader( train_set, batch_size=batch_size, shuffle=shuffle) else: trans = [transforms.ToTensor(), transforms.Normalize(mean=[n/255. for n in [129.3, 124.1, 112.4]], std=[n/255. for n in [68.2, 65.4, 70.4]])] trans = transforms.Compose(trans) test_set = td.CIFAR100('data', train=False, transform=trans) size = len(test_set.test_labels) train_loader = torch.utils.data.DataLoader( test_set, batch_size=batch_size, shuffle=shuffle) return train_loader, size
Example #2
Source File: datasets.py From Deep_Openset_Recognition_through_Uncertainty with MIT License | 6 votes |
def get_dataset(self): """ Uses torchvision.datasets.CIFAR100 to load dataset. Downloads dataset if doesn't exist already. Returns: torch.utils.data.TensorDataset: trainset, valset """ trainset = datasets.SVHN('datasets/SVHN/train/', split='train', transform=self.train_transforms, target_transform=None, download=True) valset = datasets.SVHN('datasets/SVHN/test/', split='test', transform=self.val_transforms, target_transform=None, download=True) extraset = datasets.SVHN('datasets/SVHN/extra', split='extra', transform=self.train_transforms, target_transform=None, download=True) trainset = torch.utils.data.ConcatDataset([trainset, extraset]) return trainset, valset
Example #3
Source File: datasets.py From OCDVAEContinualLearning with MIT License | 6 votes |
def get_dataset(self): """ Uses torchvision.datasets.CIFAR100 to load dataset. Downloads dataset if doesn't exist already. Returns: torch.utils.data.TensorDataset: trainset, valset """ trainset = datasets.SVHN('datasets/SVHN/train/', split='train', transform=self.train_transforms, target_transform=None, download=True) valset = datasets.SVHN('datasets/SVHN/test/', split='test', transform=self.val_transforms, target_transform=None, download=True) extraset = datasets.SVHN('datasets/SVHN/extra', split='extra', transform=self.train_transforms, target_transform=None, download=True) trainset = torch.utils.data.ConcatDataset([trainset, extraset]) return trainset, valset
Example #4
Source File: cifar.py From nni with MIT License | 5 votes |
def get_augment_datasets(config): dataset = config.dataset.lower() if dataset == 'cifar10': dset_cls = dset.CIFAR10 elif dataset == 'cifar100': dset_cls = dset.CIFAR100 else: raise Exception("Not support dataset!") train_transform, valid_transform = data_transforms_cifar(config, cutout=True) train_data = dset_cls(root=config.data_dir, train=True, download=True, transform=train_transform) test_data = dset_cls(root=config.data_dir, train=False, download=True, transform=valid_transform) if config.distributed: train_sampler = torch.utils.data.distributed.DistributedSampler(train_data) test_sampler = torch.utils.data.distributed.DistributedSampler(test_data) else: train_sampler = None test_sampler = None train_loader = torch.utils.data.DataLoader( train_data, batch_size=config.batch_size, sampler=train_sampler, pin_memory=True, num_workers=config.workers) test_loader = torch.utils.data.DataLoader( test_data, batch_size=config.eval_batch_size, sampler=test_sampler, pin_memory=True, num_workers=config.workers) return [train_loader, test_loader], [train_sampler, test_sampler]
Example #5
Source File: train_search.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def build_cifar100(model_state_dict=None, optimizer_state_dict=None, **kwargs): epoch = kwargs.pop('epoch') ratio = kwargs.pop('ratio') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=valid_transform) num_train = len(train_data) assert num_train == len(valid_data) indices = list(range(num_train)) split = int(np.floor(ratio * num_train)) np.random.shuffle(indices) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.child_batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[:split]), pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.child_eval_batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[split:num_train]), pin_memory=True, num_workers=16) model = NASWSNetworkCIFAR(100, args.child_layers, args.child_nodes, args.child_channels, args.child_keep_prob, args.child_drop_path_keep_prob, args.child_use_aux_head, args.steps) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) optimizer = torch.optim.SGD( model.parameters(), args.child_lr_max, momentum=0.9, weight_decay=args.child_l2_reg, ) if model_state_dict is not None: model.load_state_dict(model_state_dict) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, args.child_epochs, args.child_lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #6
Source File: torchvision_dataset.py From EvolutionaryGAN-pytorch with MIT License | 5 votes |
def __init__(self, opt): """Initialize this dataset class. Parameters: opt (Option class) -- stores all the experiment flags; needs to be a subclass of BaseOptions A few things can be done here. - save the options (have been done in BaseDataset) - get image paths and meta information of the dataset. - define the image transformation. """ # save the option and dataset root BaseDataset.__init__(self, opt) # define the default transform function. You can use <base_dataset.get_transform>; You can also define your custom transform function self.transform = get_transform(opt) # import torchvision dataset if opt.dataset_name == 'CIFAR10': from torchvision.datasets import CIFAR10 as torchvisionlib elif opt.dataset_name == 'CIFAR100': from torchvision.datasets import CIFAR100 as torchvisionlib else: raise ValueError('torchvision_dataset import fault.') self.dataload = torchvisionlib(root = opt.download_root, transform = self.transform, download = True)
Example #7
Source File: test_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def build_cifar100(model_state_dict, optimizer_state_dict, **kwargs): epoch = kwargs.pop('epoch') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=valid_transform) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.batch_size, shuffle=True, pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.eval_batch_size, shuffle=False, pin_memory=True, num_workers=16) model = NASNetworkCIFAR(args, 100, args.layers, args.nodes, args.channels, args.keep_prob, args.drop_path_keep_prob, args.use_aux_head, args.steps, args.arch) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) logging.info("multi adds = %fM", model.multi_adds / 1000000) if model_state_dict is not None: model.load_state_dict(model_state_dict) if torch.cuda.device_count() > 1: logging.info("Use %d %s", torch.cuda.device_count(), "GPUs !") model = nn.DataParallel(model) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() optimizer = torch.optim.SGD( model.parameters(), args.lr_max, momentum=0.9, weight_decay=args.l2_reg, ) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, float(args.epochs), args.lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #8
Source File: train_search.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def build_cifar100(model_state_dict=None, optimizer_state_dict=None, **kwargs): epoch = kwargs.pop('epoch') ratio = kwargs.pop('ratio') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=valid_transform) num_train = len(train_data) assert num_train == len(valid_data) indices = list(range(num_train)) split = int(np.floor(ratio * num_train)) np.random.shuffle(indices) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.child_batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[:split]), pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.child_eval_batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[split:num_train]), pin_memory=True, num_workers=16) model = NASWSNetworkCIFAR(args, 100, args.child_layers, args.child_nodes, args.child_channels, args.child_keep_prob, args.child_drop_path_keep_prob, args.child_use_aux_head, args.steps) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) optimizer = torch.optim.SGD( model.parameters(), args.child_lr_max, momentum=0.9, weight_decay=args.child_l2_reg, ) if model_state_dict is not None: model.load_state_dict(model_state_dict) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, args.child_epochs, args.child_lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #9
Source File: train_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def build_cifar100(model_state_dict, optimizer_state_dict, **kwargs): epoch = kwargs.pop('epoch') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR100(root=args.data, train=False, download=True, transform=valid_transform) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.batch_size, shuffle=True, pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.eval_batch_size, shuffle=False, pin_memory=True, num_workers=16) model = NASNetworkCIFAR(args, 100, args.layers, args.nodes, args.channels, args.keep_prob, args.drop_path_keep_prob, args.use_aux_head, args.steps, args.arch) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) logging.info("multi adds = %fM", model.multi_adds / 1000000) if model_state_dict is not None: model.load_state_dict(model_state_dict) if torch.cuda.device_count() > 1: logging.info("Use %d %s", torch.cuda.device_count(), "GPUs !") model = nn.DataParallel(model) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() optimizer = torch.optim.SGD( model.parameters(), args.lr_max, momentum=0.9, weight_decay=args.l2_reg, ) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, float(args.epochs), args.lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #10
Source File: res110prune.py From rethinking-network-pruning with MIT License | 5 votes |
def test(model): kwargs = {'num_workers': 1, 'pin_memory': True} if args.cuda else {} if args.dataset == 'cifar10': test_loader = torch.utils.data.DataLoader( datasets.CIFAR10('./data.cifar10', train=False, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010))])), batch_size=args.test_batch_size, shuffle=False, **kwargs) elif args.dataset == 'cifar100': test_loader = torch.utils.data.DataLoader( datasets.CIFAR100('./data.cifar100', train=False, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010))])), batch_size=args.test_batch_size, shuffle=False, **kwargs) else: raise ValueError("No valid dataset is given.") model.eval() correct = 0 for data, target in test_loader: if args.cuda: data, target = data.cuda(), target.cuda() data, target = Variable(data, volatile=True), Variable(target) output = model(data) pred = output.data.max(1, keepdim=True)[1] # get the index of the max log-probability correct += pred.eq(target.data.view_as(pred)).cpu().sum() print('\nTest set: Accuracy: {}/{} ({:.1f}%)\n'.format( correct, len(test_loader.dataset), 100. * correct / len(test_loader.dataset))) return correct / float(len(test_loader.dataset))
Example #11
Source File: vggprune.py From rethinking-network-pruning with MIT License | 5 votes |
def test(model): kwargs = {'num_workers': 1, 'pin_memory': True} if args.cuda else {} if args.dataset == 'cifar10': test_loader = torch.utils.data.DataLoader( datasets.CIFAR10('./data.cifar10', train=False, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010))])), batch_size=args.test_batch_size, shuffle=True, **kwargs) elif args.dataset == 'cifar100': test_loader = torch.utils.data.DataLoader( datasets.CIFAR100('./data.cifar100', train=False, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010))])), batch_size=args.test_batch_size, shuffle=True, **kwargs) else: raise ValueError("No valid dataset is given.") model.eval() correct = 0 for data, target in test_loader: if args.cuda: data, target = data.cuda(), target.cuda() data, target = Variable(data, volatile=True), Variable(target) output = model(data) pred = output.data.max(1, keepdim=True)[1] # get the index of the max log-probability correct += pred.eq(target.data.view_as(pred)).cpu().sum() print('\nTest set: Accuracy: {}/{} ({:.1f}%)\n'.format( correct, len(test_loader.dataset), 100. * correct / len(test_loader.dataset))) return correct / float(len(test_loader.dataset))
Example #12
Source File: datasets.py From shake-drop_pytorch with MIT License | 5 votes |
def fetch_bylabel(label): if label == 10: normalizer = transforms.Normalize(mean=[0.4914, 0.4824, 0.4467], std=[0.2471, 0.2435, 0.2616]) data_cls = datasets.CIFAR10 else: normalizer = transforms.Normalize(mean=[0.5071, 0.4867, 0.4408], std=[0.2675, 0.2565, 0.2761]) data_cls = datasets.CIFAR100 return normalizer, data_cls
Example #13
Source File: load_data.py From Deep-Expander-Networks with GNU General Public License v3.0 | 5 votes |
def __init__(self, opt): kwargs = { 'num_workers': opt.workers, 'batch_size' : opt.batch_size, 'shuffle' : True, 'pin_memory': True} self.train_loader = torch.utils.data.DataLoader( datasets.CIFAR100(opt.data_dir, train=True, download=True, transform=transforms.Compose([ transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize(mean=[x/255.0 for x in [129.3, 124.1, 112.4]], std=[x/255.0 for x in [68.2, 65.4, 70.4]]) ])), **kwargs) self.val_loader = torch.utils.data.DataLoader( datasets.CIFAR100(opt.data_dir, train=False, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize(mean=[x/255.0 for x in [129.3, 124.1, 112.4]], std=[x/255.0 for x in [68.2, 65.4, 70.4]]) ])), **kwargs)
Example #14
Source File: train_cifar.py From eval-nas with MIT License | 5 votes |
def build_cifar100(model_state_dict, optimizer_state_dict, **kwargs): epoch = kwargs.pop('epoch') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=valid_transform) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.batch_size, shuffle=True, pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.eval_batch_size, shuffle=False, pin_memory=True, num_workers=16) model = NASNetworkCIFAR(args, 100, args.layers, args.nodes, args.channels, args.keep_prob, args.drop_path_keep_prob, args.use_aux_head, args.steps, args.arch) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) logging.info("multi adds = %fM", model.multi_adds / 1000000) if model_state_dict is not None: model.load_state_dict(model_state_dict) if torch.cuda.device_count() > 1: logging.info("Use %d %s", torch.cuda.device_count(), "GPUs !") model = nn.DataParallel(model) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() optimizer = torch.optim.SGD( model.parameters(), args.lr_max, momentum=0.9, weight_decay=args.l2_reg, ) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, float(args.epochs), args.lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #15
Source File: args.py From RobustDARTS with Apache License 2.0 | 5 votes |
def get_train_val_loaders(self): if self.args.dataset == 'cifar10': train_transform, valid_transform = utils._data_transforms_cifar10(self.args) train_data = dset.CIFAR10( root=self.args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR10( root=self.args.data, train=False, download=True, transform=valid_transform) elif self.args.dataset == 'cifar100': train_transform, valid_transform = utils._data_transforms_cifar100(self.args) train_data = dset.CIFAR100( root=self.args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR100( root=self.args.data, train=False, download=True, transform=valid_transform) elif self.args.dataset == 'svhn': train_transform, valid_transform = utils._data_transforms_svhn(self.args) train_data = dset.SVHN( root=self.args.data, split='train', download=True, transform=train_transform) valid_data = dset.SVHN( root=self.args.data, split='test', download=True, transform=valid_transform) train_queue = torch.utils.data.DataLoader( train_data, batch_size=self.args.batch_size, shuffle=True, pin_memory=True, num_workers=2) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=self.args.batch_size, shuffle=False, pin_memory=True, num_workers=2) return train_queue, valid_queue, train_transform, valid_transform
Example #16
Source File: args.py From RobustDARTS with Apache License 2.0 | 5 votes |
def get_train_val_loaders(self): if self.args.dataset == 'cifar10': train_transform, valid_transform = utils._data_transforms_cifar10(self.args) train_data = dset.CIFAR10(root=self.args.data, train=True, download=True, transform=train_transform) elif self.args.dataset == 'cifar100': train_transform, valid_transform = utils._data_transforms_cifar100(self.args) train_data = dset.CIFAR100(root=self.args.data, train=True, download=True, transform=train_transform) elif self.args.dataset == 'svhn': train_transform, valid_transform = utils._data_transforms_svhn(self.args) train_data = dset.SVHN(root=self.args.data, split='train', download=True, transform=train_transform) num_train = len(train_data) indices = list(range(num_train)) split = int(np.floor(self.args.train_portion * num_train)) train_queue = torch.utils.data.DataLoader( train_data, batch_size=self.args.batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[:split]), pin_memory=True, num_workers=2) valid_queue = torch.utils.data.DataLoader( train_data, batch_size=self.args.batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[split:num_train]), pin_memory=True, num_workers=2) return train_queue, valid_queue, train_transform, valid_transform
Example #17
Source File: cifar.py From nni with MIT License | 5 votes |
def get_search_datasets(config): dataset = config.dataset.lower() if dataset == 'cifar10': dset_cls = dset.CIFAR10 n_classes = 10 elif dataset == 'cifar100': dset_cls = dset.CIFAR100 n_classes = 100 else: raise Exception("Not support dataset!") train_transform, valid_transform = data_transforms_cifar(config, cutout=False) train_data = dset_cls(root=config.data_dir, train=True, download=True, transform=train_transform) test_data = dset_cls(root=config.data_dir, train=False, download=True, transform=valid_transform) num_train = len(train_data) indices = list(range(num_train)) split_mid = int(np.floor(0.5 * num_train)) if config.distributed: train_sampler = SubsetDistributedSampler(train_data, indices[:split_mid]) valid_sampler = SubsetDistributedSampler(train_data, indices[split_mid:num_train]) else: train_sampler = torch.utils.data.sampler.SubsetRandomSampler(indices[:split_mid]) valid_sampler = torch.utils.data.sampler.SubsetRandomSampler(indices[split_mid:num_train]) train_loader = torch.utils.data.DataLoader( train_data, batch_size=config.batch_size, sampler=train_sampler, pin_memory=False, num_workers=config.workers) valid_loader = torch.utils.data.DataLoader( train_data, batch_size=config.batch_size, sampler=valid_sampler, pin_memory=False, num_workers=config.workers) return [train_loader, valid_loader], [train_sampler, valid_sampler]
Example #18
Source File: train_search.py From eval-nas with MIT License | 5 votes |
def build_cifar100(model_state_dict=None, optimizer_state_dict=None, **kwargs): epoch = kwargs.pop('epoch') ratio = kwargs.pop('ratio') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=valid_transform) num_train = len(train_data) assert num_train == len(valid_data) indices = list(range(num_train)) split = int(np.floor(ratio * num_train)) np.random.shuffle(indices) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.child_batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[:split]), pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.child_eval_batch_size, sampler=torch.utils.data.sampler.SubsetRandomSampler(indices[split:num_train]), pin_memory=True, num_workers=16) model = NASWSNetworkCIFAR(100, args.child_layers, args.child_nodes, args.child_channels, args.child_keep_prob, args.child_drop_path_keep_prob, args.child_use_aux_head, args.steps) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) optimizer = torch.optim.SGD( model.parameters(), args.child_lr_max, momentum=0.9, weight_decay=args.child_l2_reg, ) if model_state_dict is not None: model.load_state_dict(model_state_dict) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, args.child_epochs, args.child_lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #19
Source File: train_search.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def get_builder(dataset): if dataset == 'CIFAR10': return build_cifar10 elif dataset == 'CIFAR100': return build_cifar100 else: return build_imagenet
Example #20
Source File: train_cifar.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def get_builder(dataset): if dataset == 'cifar10': return build_cifar10 elif dataset == 'CIFAR100': return build_cifar100
Example #21
Source File: train_cifar.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def build_cifar100(model_state_dict, optimizer_state_dict, **kwargs): epoch = kwargs.pop('epoch') train_transform, valid_transform = utils._data_transforms_cifar10(args.cutout_size) train_data = dset.CIFAR100(root=args.data, train=True, download=True, transform=train_transform) valid_data = dset.CIFAR100(root=args.data, train=False, download=True, transform=valid_transform) train_queue = torch.utils.data.DataLoader( train_data, batch_size=args.batch_size, shuffle=True, pin_memory=True, num_workers=16) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.eval_batch_size, shuffle=False, pin_memory=True, num_workers=16) model = NASNetworkCIFAR(args, 100, args.layers, args.nodes, args.channels, args.keep_prob, args.drop_path_keep_prob, args.use_aux_head, args.steps, args.arch) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) logging.info("multi adds = %fM", model.multi_adds / 1000000) if model_state_dict is not None: model.load_state_dict(model_state_dict) if torch.cuda.device_count() > 1: logging.info("Use %d %s", torch.cuda.device_count(), "GPUs !") model = nn.DataParallel(model) model = model.cuda() train_criterion = nn.CrossEntropyLoss().cuda() eval_criterion = nn.CrossEntropyLoss().cuda() optimizer = torch.optim.SGD( model.parameters(), args.lr_max, momentum=0.9, weight_decay=args.l2_reg, ) if optimizer_state_dict is not None: optimizer.load_state_dict(optimizer_state_dict) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, float(args.epochs), args.lr_min, epoch) return train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler
Example #22
Source File: dataloaders.py From L0_regularization with MIT License | 5 votes |
def cifar100(augment=True, batch_size=128): normalize = transforms.Normalize(mean=[x / 255.0 for x in [129.3, 124.1, 112.4]], std=[x / 255.0 for x in [68.2, 65.4, 70.4]]) logging = 'Using' if augment: transform_train = transforms.Compose([ transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), normalize, ]) logging += ' augmented' else: transform_train = transforms.Compose([ transforms.ToTensor(), normalize, ]) transform_test = transforms.Compose([ transforms.ToTensor(), normalize ]) print(logging + ' CIFAR 100.') kwargs = {'num_workers': 4, 'pin_memory': torch.cuda.is_available()} train_loader = torch.utils.data.DataLoader( datasets.CIFAR100('../data', train=True, download=True, transform=transform_train), batch_size=batch_size, shuffle=True, **kwargs) val_loader = torch.utils.data.DataLoader( datasets.CIFAR100('../data', train=False, transform=transform_test), batch_size=batch_size, shuffle=True, **kwargs) num_classes = 100 return train_loader, val_loader, num_classes
Example #23
Source File: data.py From quantized.pytorch with MIT License | 5 votes |
def get_dataset(name, split='train', transform=None, target_transform=None, download=True, datasets_path=__DATASETS_DEFAULT_PATH): train = (split == 'train') root = os.path.join(datasets_path, name) if name == 'cifar10': return datasets.CIFAR10(root=root, train=train, transform=transform, target_transform=target_transform, download=download) elif name == 'cifar100': return datasets.CIFAR100(root=root, train=train, transform=transform, target_transform=target_transform, download=download) elif name == 'mnist': return datasets.MNIST(root=root, train=train, transform=transform, target_transform=target_transform, download=download) elif name == 'stl10': return datasets.STL10(root=root, split=split, transform=transform, target_transform=target_transform, download=download) elif name == 'imagenet': if train: root = os.path.join(root, 'train') else: root = os.path.join(root, 'val') return datasets.ImageFolder(root=root, transform=transform, target_transform=target_transform)
Example #24
Source File: cifar.py From rGAN with MIT License | 5 votes |
def symmetric_noise(self, noise_rate): """Symmetric noise in CIFAR100. For all classes, ground truth labels are replaced with uniform random classes. """ np.random.seed(self.seed) targets = np.array(self.targets) mask = np.random.rand(len(targets)) <= noise_rate rnd_targets = np.random.choice(self.num_classes, mask.sum()) targets[mask] = rnd_targets targets = [int(x) for x in targets] self.targets = targets
Example #25
Source File: dataset.py From pytorch-playground with MIT License | 5 votes |
def get100(batch_size, data_root='/tmp/public_dataset/pytorch', train=True, val=True, **kwargs): data_root = os.path.expanduser(os.path.join(data_root, 'cifar100-data')) num_workers = kwargs.setdefault('num_workers', 1) kwargs.pop('input_size', None) print("Building CIFAR-100 data loader with {} workers".format(num_workers)) ds = [] if train: train_loader = torch.utils.data.DataLoader( datasets.CIFAR100( root=data_root, train=True, download=True, transform=transforms.Compose([ transforms.Pad(4), transforms.RandomCrop(32), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)), ])), batch_size=batch_size, shuffle=True, **kwargs) ds.append(train_loader) if val: test_loader = torch.utils.data.DataLoader( datasets.CIFAR100( root=data_root, train=False, download=True, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)), ])), batch_size=batch_size, shuffle=False, **kwargs) ds.append(test_loader) ds = ds[0] if len(ds) == 1 else ds return ds
Example #26
Source File: train.py From PseudoLabeling with MIT License | 5 votes |
def data_config(args, transform_train, transform_test): if args.validation_exp == "False": args.val_samples = 0 ####################################### Train ########################################################## trainset, unlabeled_indexes, labeled_indexes, valset = get_dataset(args, transform_train, transform_test) if args.labeled_batch_size > 0 and not args.dataset_type == 'ssl_warmUp': print("Training with two samplers. {0} clean samples per batch".format(args.labeled_batch_size)) batch_sampler = TwoStreamBatchSampler(unlabeled_indexes, labeled_indexes, args.batch_size, args.labeled_batch_size) train_loader = torch.utils.data.DataLoader(trainset, batch_sampler=batch_sampler, num_workers=0, pin_memory=True) else: train_loader = torch.utils.data.DataLoader(trainset, batch_size=args.batch_size, shuffle=True, num_workers=0, pin_memory=True) if args.validation_exp == "True": print("Training to choose hyperparameters --- VALIDATON MODE ---.") testset = valset else: print("Training to compare to the SOTA --- TESTING MODE ---.") testset = datasets.CIFAR100(root='./data', train=False, download=False, transform=transform_test) test_loader = torch.utils.data.DataLoader(testset, batch_size=args.test_batch_size, shuffle=False, num_workers=0, pin_memory=True) # train and val print('-------> Data loading') print("Training with {0} labeled samples ({1} unlabeled samples)".format(len(labeled_indexes), len(unlabeled_indexes))) return train_loader, test_loader, unlabeled_indexes
Example #27
Source File: data_loader.py From Deep-Mutual-Learning with MIT License | 5 votes |
def get_test_loader(data_dir, batch_size, num_workers=4, pin_memory=True): """ Utility function for loading and returning a multi-process test iterator over the CIFAR100 dataset. If using CUDA, num_workers should be set to 1 and pin_memory to True. Args ---- - data_dir: path directory to the dataset. - batch_size: how many samples per batch to load. - num_workers: number of subprocesses to use when loading the dataset. - pin_memory: whether to copy tensors into CUDA pinned memory. Set it to True if using GPU. Returns ------- - data_loader: test set iterator. """ # define transforms trans = transforms.Compose([ transforms.ToTensor(), # 将numpy数据类型转化为Tensor transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) # 归一化 ]) # load dataset dataset = datasets.CIFAR100( data_dir, train=False, download=False, transform=trans ) data_loader = torch.utils.data.DataLoader( dataset, batch_size=batch_size, shuffle=False, num_workers=num_workers, pin_memory=pin_memory, ) return data_loader
Example #28
Source File: datasets.py From OCDVAEContinualLearning with MIT License | 5 votes |
def get_dataset(self): """ Uses torchvision.datasets.CIFAR100 to load dataset. Downloads dataset if doesn't exist already. Returns: torch.utils.data.TensorDataset: trainset, valset """ trainset = datasets.CIFAR100('datasets/CIFAR100/train/', train=True, transform=self.train_transforms, target_transform=None, download=True) valset = datasets.CIFAR100('datasets/CIFAR100/test/', train=False, transform=self.val_transforms, target_transform=None, download=True) return trainset, valset
Example #29
Source File: datasets.py From Deep_Openset_Recognition_through_Uncertainty with MIT License | 5 votes |
def get_dataset(self): """ Uses torchvision.datasets.CIFAR100 to load dataset. Downloads dataset if doesn't exist already. Returns: torch.utils.data.TensorDataset: trainset, valset """ trainset = datasets.CIFAR100('datasets/CIFAR100/train/', train=True, transform=self.train_transforms, target_transform=None, download=True) valset = datasets.CIFAR100('datasets/CIFAR100/test/', train=False, transform=self.val_transforms, target_transform=None, download=True) return trainset, valset
Example #30
Source File: data_loader.py From adatune with Apache License 2.0 | 5 votes |
def cifar_100_data_loader(batch_size): transform_train = transforms.Compose( [transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize((0.5071, 0.4867, 0.4408), (0.2675, 0.2565, 0.2761)), ]) transform_test = transforms.Compose([transforms.ToTensor(), transforms.Normalize( (0.5071, 0.4867, 0.4408), (0.2675, 0.2565, 0.2761)), ]) dataset = datasets.CIFAR100(root=data_loc, train=True, download=True, transform=transform_train) train_loader = torch.utils.data.DataLoader(dataset, shuffle=True, batch_size=batch_size, num_workers=1) test_dataset = datasets.CIFAR100(root=data_loc, train=False, transform=transform_test, ) test_loader = torch.utils.data.DataLoader(test_dataset, shuffle=False, batch_size=batch_size) return train_loader, test_loader