Python torch.backends.cudnn.enabled() Examples
The following are 30
code examples of torch.backends.cudnn.enabled().
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
torch.backends.cudnn
, or try the search function
.
Example #1
Source File: base_trainer.py From fastMRI with MIT License | 6 votes |
def initial_setup(self, args): ############ logging.info(f"run pid: {os.getpid()} parent: {os.getppid()}") logging.info("#########") logging.info(args.__dict__) logging.info(f"Rank: {args.rank} World_size: {args.world_size}, Run {args.run_name}") args.cuda = torch.cuda.is_available() logging.info(f"Pytorch version: {torch.__version__}") logging.info("Using CUDA: {} CUDA AVAIL: {} #DEVICES: {} VERSION: {}".format( args.cuda, torch.cuda.is_available(), torch.cuda.device_count(), torch.version.cuda)) if not args.cuda: self.device = 'cpu' else: self.device = 'cuda' cudnn.benchmark = True cudnn.enabled = True random.seed(args.seed) # The seed needs to be constant between processes. torch.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed)
Example #2
Source File: main.py From MobileNet-V2 with Apache License 2.0 | 5 votes |
def main(): # Parse the JSON arguments config_args = parse_args() # Create the experiment directories _, config_args.summary_dir, config_args.checkpoint_dir = create_experiment_dirs( config_args.experiment_dir) model = MobileNetV2(config_args) if config_args.cuda: model.cuda() cudnn.enabled = True cudnn.benchmark = True print("Loading Data...") data = CIFAR10Data(config_args) print("Data loaded successfully\n") trainer = Train(model, data.trainloader, data.testloader, config_args) if config_args.to_train: try: print("Training...") trainer.train() print("Training Finished\n") except KeyboardInterrupt: pass if config_args.to_test: print("Testing...") trainer.test(data.testloader) print("Testing Finished\n")
Example #3
Source File: test_imagenet.py From sgas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) cudnn.enabled=True logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CLASSES, args.layers, args.auxiliary, genotype) model = nn.DataParallel(model) model = model.cuda() model.load_state_dict(torch.load(args.model_path)['state_dict']) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() validdir = os.path.join(args.data, 'val') normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) valid_data = dset.ImageFolder( validdir, transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), normalize, ])) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.batch_size, shuffle=False, pin_memory=False, num_workers=4) model.module.drop_path_prob = 0.0 valid_acc_top1, valid_acc_top5, valid_obj = infer(valid_queue, model, criterion) logging.info('Valid_acc_top1 %f', valid_acc_top1) logging.info('Valid_acc_top5 %f', valid_acc_top5)
Example #4
Source File: test.py From sgas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob with torch.no_grad(): test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #5
Source File: run.py From Bottom-up-Clustering-Person-Re-identification with MIT License | 5 votes |
def main(args): cudnn.benchmark = True cudnn.enabled = True save_path = args.logs_dir sys.stdout = Logger(osp.join(args.logs_dir, 'log'+ str(args.merge_percent)+ time.strftime(".%m_%d_%H:%M:%S") + '.txt')) # get all unlabeled data for training dataset_all = datasets.create(args.dataset, osp.join(args.data_dir, args.dataset)) new_train_data, cluster_id_labels = change_to_unlabel(dataset_all) num_train_ids = len(np.unique(np.array(cluster_id_labels))) nums_to_merge = int(num_train_ids * args.merge_percent) BuMain = Bottom_up(model_name=args.arch, batch_size=args.batch_size, num_classes=num_train_ids, dataset=dataset_all, u_data=new_train_data, save_path=args.logs_dir, max_frames=args.max_frames, embeding_fea_size=args.fea) for step in range(int(1/args.merge_percent)-1): print('step: ',step) BuMain.train(new_train_data, step, loss=args.loss) BuMain.evaluate(dataset_all.query, dataset_all.gallery) # get new train data for the next iteration print('----------------------------------------bottom-up clustering------------------------------------------------') cluster_id_labels, new_train_data = BuMain.get_new_train_data(cluster_id_labels, nums_to_merge, size_penalty=args.size_penalty) print('\n\n')
Example #6
Source File: test.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils.data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #7
Source File: train_imagenet.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True torch.cuda.manual_seed(args.seed) logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #8
Source File: train_cnn.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def _init_random_and_device(self): # Set random seed and cuda device np.random.seed(self.args.seed) cudnn.benchmark = True torch.manual_seed(self.args.seed) cudnn.enabled = True torch.cuda.manual_seed(self.args.seed) max_free_gpu_id, gpus_info = dutils.get_gpus_memory_info() self.device_id = max_free_gpu_id self.gpus_info = gpus_info self.device = torch.device('cuda:{}'.format(0 if self.args.multi_gpus else self.device_id))
Example #9
Source File: train_search.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def _init_device(self): if not torch.cuda.is_available(): self.logger.info('no gpu device available') sys.exit(1) self.current_gpu, _ = dutils.get_gpus_memory_info() np.random.seed(self.args.seed) torch.cuda.set_device(self.current_gpu) cudnn.benchmark = True torch.manual_seed(self.args.seed) cudnn.enabled = True torch.cuda.manual_seed(self.args.seed) self.logger.info('gpu device = %d', self.current_gpu)
Example #10
Source File: test.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #11
Source File: test.py From darts with Apache License 2.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #12
Source File: train_cifar.py From eval-nas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #13
Source File: train_imagenet.py From eval-nas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #14
Source File: test.py From eval-nas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #15
Source File: run.py From Dispersion-based-Clustering with MIT License | 5 votes |
def main(args): cudnn.benchmark = True cudnn.enabled = True save_path = args.logs_dir sys.stdout = Logger(osp.join(args.logs_dir, 'log'+ str(args.merge_percent)+ time.strftime(".%m_%d_%H:%M:%S") + '.txt')) # get all unlabeled data for training dataset_all = datasets.create(args.dataset, osp.join(args.data_dir, args.dataset)) new_train_data, cluster_id_labels = change_to_unlabel(dataset_all) num_train_ids = len(np.unique(np.array(cluster_id_labels))) nums_to_merge = int(num_train_ids * args.merge_percent) BuMain = Bottom_up(model_name=args.arch, batch_size=args.batch_size, num_classes=num_train_ids, dataset=dataset_all, u_data=new_train_data, save_path=args.logs_dir, max_frames=args.max_frames, embeding_fea_size=args.fea) for step in range(int(1/args.merge_percent)-1): print('step: ',step) BuMain.train(new_train_data, step, loss=args.loss) BuMain.evaluate(dataset_all.query, dataset_all.gallery) # get new train data for the next iteration print('----------------------------------------bottom-up clustering------------------------------------------------') cluster_id_labels, new_train_data = BuMain.get_new_train_data_v2(cluster_id_labels, nums_to_merge, step, penalty=args.size_penalty) print('\n\n')
Example #16
Source File: aux_model.py From self-supervised-da with MIT License | 5 votes |
def __init__(self, args, logger): self.args = args self.logger = logger self.writer = SummaryWriter(args.log_dir) cudnn.enabled = True # set up model self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu") self.model = get_aux_net(args.network.arch)(aux_classes=args.aux_classes + 1, classes=args.n_classes) self.model = self.model.to(self.device) if args.mode == 'train': # set up optimizer, lr scheduler and loss functions optimizer = get_optimizer(self.args.training.optimizer) optimizer_params = {k: v for k, v in self.args.training.optimizer.items() if k != "name"} self.optimizer = optimizer(self.model.parameters(), **optimizer_params) self.scheduler = get_scheduler(self.optimizer, self.args.training.lr_scheduler) self.class_loss_func = nn.CrossEntropyLoss() self.start_iter = 0 # resume if args.training.resume: self.load(args.model_dir + '/' + args.training.resume) cudnn.benchmark = True elif args.mode == 'val': self.load(os.path.join(args.model_dir, args.validation.model)) else: self.load(os.path.join(args.model_dir, args.testing.model))
Example #17
Source File: varnet.py From fastMRI with MIT License | 5 votes |
def run(args): cudnn.benchmark = True cudnn.enabled = True if args.mode == 'train': trainer = create_trainer(args) model = VariationalNetworkModel(args) trainer.fit(model) else: # args.mode == 'test' or args.mode == 'challenge' assert args.checkpoint is not None model = VariationalNetworkModel.load_from_checkpoint( str(args.checkpoint)) model.hparams = args model.hparams.sample_rate = 1. trainer = create_trainer(args) trainer.test(model)
Example #18
Source File: test_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) random.seed(args.seed) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #19
Source File: train_imagenet.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = True logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #20
Source File: train_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #21
Source File: test_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) random.seed(args.seed) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #22
Source File: train_imagenet.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = True logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #23
Source File: train.py From sgas with MIT License | 4 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() optimizer = torch.optim.SGD( model.parameters(), args.learning_rate, momentum=args.momentum, weight_decay=args.weight_decay ) train_transform, valid_transform = utils._data_transforms_cifar10(args) train_data = dset.CIFAR10(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=2) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, float(args.epochs)) best_val_acc = 0. for epoch in range(args.epochs): scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) model.drop_path_prob = args.drop_path_prob * epoch / args.epochs train_acc, train_obj = train(train_queue, model, criterion, optimizer) logging.info('train_acc %f', train_acc) with torch.no_grad(): valid_acc, valid_obj = infer(valid_queue, model, criterion) if valid_acc > best_val_acc: best_val_acc = valid_acc utils.save(model, os.path.join(args.save, 'best_weights.pt')) logging.info('valid_acc %f\tbest_val_acc %f', valid_acc, best_val_acc) utils.save(model, os.path.join(args.save, 'weights.pt'))
Example #24
Source File: train.py From nasbench-1shot1 with Apache License 2.0 | 4 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled = True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() optimizer = torch.optim.SGD( model.parameters(), args.learning_rate, momentum=args.momentum, weight_decay=args.weight_decay ) train_transform, valid_transform = utils._data_transforms_cifar10(args) train_data = dset.CIFAR10(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=2) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, float(args.epochs)) for epoch in range(args.epochs): scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) model.drop_path_prob = args.drop_path_prob * epoch / args.epochs train_acc, train_obj = train(train_queue, model, criterion, optimizer) logging.info('train_acc %f', train_acc) valid_acc, valid_obj = infer(valid_queue, model, criterion) logging.info('valid_acc %f', valid_acc) utils.save(model, os.path.join(args.save, 'weights.pt'))
Example #25
Source File: test.py From 3DMPPE_POSENET_RELEASE with MIT License | 4 votes |
def main(): args = parse_args() cfg.set_args(args.gpu_ids) cudnn.fastest = True cudnn.benchmark = True cudnn.deterministic = False cudnn.enabled = True tester = Tester(args.test_epoch) tester._make_batch_generator() tester._make_model() preds = [] with torch.no_grad(): for itr, input_img in enumerate(tqdm(tester.batch_generator)): # forward coord_out = tester.model(input_img) if cfg.flip_test: flipped_input_img = flip(input_img, dims=3) flipped_coord_out = tester.model(flipped_input_img) flipped_coord_out[:, :, 0] = cfg.output_shape[1] - flipped_coord_out[:, :, 0] - 1 for pair in tester.flip_pairs: flipped_coord_out[:, pair[0], :], flipped_coord_out[:, pair[1], :] = flipped_coord_out[:, pair[1], :].clone(), flipped_coord_out[:, pair[0], :].clone() coord_out = (coord_out + flipped_coord_out)/2. vis = False if vis: filename = str(itr) tmpimg = input_img[0].cpu().numpy() tmpimg = tmpimg * np.array(cfg.pixel_std).reshape(3,1,1) + np.array(cfg.pixel_mean).reshape(3,1,1) tmpimg = tmpimg.astype(np.uint8) tmpimg = tmpimg[::-1, :, :] tmpimg = np.transpose(tmpimg,(1,2,0)).copy() tmpkps = np.zeros((3,tester.joint_num)) tmpkps[:2,:] = coord_out[0,:,:2].cpu().numpy().transpose(1,0) / cfg.output_shape[0] * cfg.input_shape[0] tmpkps[2,:] = 1 tmpimg = vis_keypoints(tmpimg, tmpkps, tester.skeleton) cv2.imwrite(filename + '_output.jpg', tmpimg) coord_out = coord_out.cpu().numpy() preds.append(coord_out) # evaluate preds = np.concatenate(preds, axis=0) tester._evaluate(preds, cfg.result_dir)
Example #26
Source File: run.py From Exploit-Unknown-Gradually with MIT License | 4 votes |
def main(args): cudnn.benchmark = True cudnn.enabled = True save_path = args.logs_dir total_step = 100//args.EF + 1 sys.stdout = Logger(osp.join(args.logs_dir, 'log'+ str(args.EF)+ time.strftime(".%m_%d_%H:%M:%S") + '.txt')) # get all the labeled and unlabeled data for training dataset_all = datasets.create(args.dataset, osp.join(args.data_dir, args.dataset)) num_all_examples = len(dataset_all.train) l_data, u_data = get_one_shot_in_cam1(dataset_all, load_path="./examples/oneshot_{}_used_in_paper.pickle".format(dataset_all.name)) resume_step, ckpt_file = -1, '' if args.resume: resume_step, ckpt_file = resume(args) # initial the EUG algorithm eug = EUG(model_name=args.arch, batch_size=args.batch_size, mode=args.mode, num_classes=dataset_all.num_train_ids, data_dir=dataset_all.images_dir, l_data=l_data, u_data=u_data, save_path=args.logs_dir, max_frames=args.max_frames) new_train_data = l_data for step in range(total_step): # for resume if step < resume_step: continue nums_to_select = min(int( len(u_data) * (step+1) * args.EF / 100 ), len(u_data)) print("This is running {} with EF={}%, step {}:\t Nums_to_be_select {}, \t Logs-dir {}".format( args.mode, args.EF, step, nums_to_select, save_path)) # train the model or load ckpt eug.train(new_train_data, step, epochs=70, step_size=55, init_lr=0.1) if step != resume_step else eug.resume(ckpt_file, step) # pseudo-label and confidence score pred_y, pred_score = eug.estimate_label() # select data selected_idx = eug.select_top_data(pred_score, nums_to_select) # add new data new_train_data = eug.generate_new_train_data(selected_idx, pred_y) # evluate eug.evaluate(dataset_all.query, dataset_all.gallery)
Example #27
Source File: main.py From PyVideoResearch with GNU General Public License v3.0 | 4 votes |
def main(): best_score = 0 args = parse() if not args.no_logger: tee.Tee(args.cache+'/log.txt') print(vars(args)) print('experiment folder: {}'.format(experiment_folder())) print('git hash: {}'.format(get_script_dir_commit_hash())) seed(args.manual_seed) cudnn.benchmark = not args.disable_cudnn_benchmark cudnn.enabled = not args.disable_cudnn metrics = get_metrics(args.metrics) tasks = get_tasks(args.tasks) model, criterion = get_model(args) if args.optimizer == 'sgd': optimizer = torch.optim.SGD(model.parameters(), args.lr, momentum=args.momentum, weight_decay=args.weight_decay) elif args.optimizer == 'adam': optimizer = torch.optim.Adam(model.parameters(), args.lr, weight_decay=args.weight_decay) else: assert False, "invalid optimizer" if args.resume: best_score = checkpoints.load(args, model, optimizer) print(model) trainer = train.Trainer() train_loader, val_loader = get_dataset(args) if args.evaluate: scores = validate(trainer, val_loader, model, criterion, args, metrics, tasks, -1) print(scores) score_file(scores, "{}/model_999.txt".format(args.cache)) return if args.warmups > 0: for i in range(args.warmups): print('warmup {}'.format(i)) trainer.validate(train_loader, model, criterion, -1, metrics, args) for epoch in range(args.start_epoch, args.epochs): if args.distributed: trainer.train_sampler.set_epoch(epoch) scores = {} scores.update(trainer.train(train_loader, model, criterion, optimizer, epoch, metrics, args)) scores.update(validate(trainer, val_loader, model, criterion, args, metrics, tasks, epoch)) is_best = scores[args.metric] > best_score best_score = max(scores[args.metric], best_score) checkpoints.save(epoch, args, model, optimizer, is_best, scores, args.metric)
Example #28
Source File: kd_model.py From structure_knowledge_distillation with BSD 2-Clause "Simplified" License | 4 votes |
def __init__(self, args): cudnn.enabled = True self.args = args device = args.device student = Res_pspnet(BasicBlock, [2, 2, 2, 2], num_classes = args.classes_num) load_S_model(args, student, False) print_model_parm_nums(student, 'student_model') self.parallel_student = self.DataParallelModelProcess(student, 2, 'train', device) self.student = student teacher = Res_pspnet(Bottleneck, [3, 4, 23, 3], num_classes = args.classes_num) load_T_model(teacher, args.T_ckpt_path) print_model_parm_nums(teacher, 'teacher_model') self.parallel_teacher = self.DataParallelModelProcess(teacher, 2, 'eval', device) self.teacher = teacher D_model = Discriminator(args.preprocess_GAN_mode, args.classes_num, args.batch_size, args.imsize_for_adv, args.adv_conv_dim) load_D_model(args, D_model, False) print_model_parm_nums(D_model, 'D_model') self.parallel_D = self.DataParallelModelProcess(D_model, 2, 'train', device) self.G_solver = optim.SGD([{'params': filter(lambda p: p.requires_grad, self.student.parameters()), 'initial_lr': args.lr_g}], args.lr_g, momentum=args.momentum, weight_decay=args.weight_decay) self.D_solver = optim.SGD([{'params': filter(lambda p: p.requires_grad, D_model.parameters()), 'initial_lr': args.lr_d}], args.lr_d, momentum=args.momentum, weight_decay=args.weight_decay) self.best_mean_IU = args.best_mean_IU self.criterion = self.DataParallelCriterionProcess(CriterionDSN()) #CriterionCrossEntropy() self.criterion_pixel_wise = self.DataParallelCriterionProcess(CriterionPixelWise()) #self.criterion_pair_wise_for_interfeat = [self.DataParallelCriterionProcess(CriterionPairWiseforWholeFeatAfterPool(scale=args.pool_scale[ind], feat_ind=-(ind+1))) for ind in range(len(args.lambda_pa))] self.criterion_pair_wise_for_interfeat = self.DataParallelCriterionProcess(CriterionPairWiseforWholeFeatAfterPool(scale=args.pool_scale, feat_ind=-5)) self.criterion_adv = self.DataParallelCriterionProcess(CriterionAdv(args.adv_loss_type)) if args.adv_loss_type == 'wgan-gp': self.criterion_AdditionalGP = self.DataParallelCriterionProcess(CriterionAdditionalGP(self.parallel_D, args.lambda_gp)) self.criterion_adv_for_G = self.DataParallelCriterionProcess(CriterionAdvForG(args.adv_loss_type)) self.mc_G_loss = 0.0 self.pi_G_loss = 0.0 self.pa_G_loss = 0.0 self.D_loss = 0.0 cudnn.benchmark = True if not os.path.exists(args.snapshot_dir): os.makedirs(args.snapshot_dir)
Example #29
Source File: test_imagenet.py From NAS-Benchmark with GNU General Public License v3.0 | 4 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() model.load_state_dict(torch.load(args.model_path)['state_dict']) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() validdir = os.path.join(args.data, 'val') normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) valid_data = dset.ImageFolder( validdir, transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), normalize, ])) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=4) model.drop_path_prob = args.drop_path_prob valid_acc_top1, valid_acc_top5, valid_obj = infer(valid_queue, model, criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5)
Example #30
Source File: test.py From NAS-Benchmark with GNU General Public License v3.0 | 4 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) if args.auxiliary and args.net_type == 'macro': logging.info('auxiliary head classifier not supported for macro search space models') sys.exit(1) logging.info("args = %s", args) cudnn.enabled = True cudnn.benchmark = True np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) # Data _, valid_transform = utils._data_transforms_cifar10(args) valid_data = torchvision.datasets.CIFAR10(root=args.data, train=False, download=True, transform=valid_transform) valid_queue = torch.utils.data.DataLoader( valid_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) # classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck') # Model if args.net_type == 'micro': logging.info("==> Building micro search space encoded architectures") genotype = eval("genotypes.%s" % args.arch) net = PyrmNASNet(args.init_channels, num_classes=10, layers=args.layers, auxiliary=args.auxiliary, genotype=genotype, increment=args.filter_increment, SE=args.SE) elif args.net_type == 'macro': genome = eval("macro_genotypes.%s" % args.arch) channels = [(3, 128), (128, 128), (128, 128)] net = EvoNetwork(genome, channels, 10, (32, 32), decoder='dense') else: raise NameError('Unknown network type, please only use supported network type') # logging.info("{}".format(net)) logging.info("param size = %fMB", utils.count_parameters_in_MB(net)) net = net.to(device) # no drop path during inference net.droprate = 0.0 utils.load(net, args.model_path) criterion = nn.CrossEntropyLoss() criterion.to(device) # inference on original CIFAR-10 test images infer(valid_queue, net, criterion)