Python apex.parallel() Examples
The following are 3
code examples of apex.parallel().
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
apex
, or try the search function
.
Example #1
Source File: distributed.py From catalyst with Apache License 2.0 | 6 votes |
def check_ddp_wrapped(model: nn.Module) -> bool: """ Checks whether model is wrapped with DataParallel/DistributedDataParallel. """ parallel_wrappers = nn.DataParallel, nn.parallel.DistributedDataParallel # Check whether Apex is installed and if it is, # add Apex's DistributedDataParallel to list of checked types try: from apex.parallel import DistributedDataParallel as apex_DDP parallel_wrappers = parallel_wrappers + (apex_DDP,) except ImportError: pass return isinstance(model, parallel_wrappers)
Example #2
Source File: train.py From pkuseg with Apache License 2.0 | 5 votes |
def main(cfgs): Logger.init(**cfgs['logger']) local_rank = cfgs['local_rank'] world_size = int(os.environ['WORLD_SIZE']) Log.info('rank: {}, world_size: {}'.format(local_rank, world_size)) log_dir = cfgs['log_dir'] pth_dir = cfgs['pth_dir'] if local_rank == 0: assure_dir(log_dir) assure_dir(pth_dir) aux_config = cfgs.get('auxiliary', None) network = ModuleBuilder(cfgs['network'], aux_config).cuda() criterion = build_criterion(cfgs['criterion'], aux_config).cuda() optimizer = optim.SGD(network.parameters(), **cfgs['optimizer']) scheduler = PolyLRScheduler(optimizer, **cfgs['scheduler']) dataset = build_dataset(**cfgs['dataset'], **cfgs['transforms']) sampler = DistributedSampler4Iter(dataset, world_size=world_size, rank=local_rank, **cfgs['sampler']) train_loader = DataLoader(dataset, sampler=sampler, **cfgs['loader']) cudnn.benchmark = True torch.manual_seed(666) torch.cuda.manual_seed(666) torch.cuda.set_device(local_rank) dist.init_process_group(backend='nccl', init_method='env://') model = DistributedDataParallel(network) model = apex.parallel.convert_syncbn_model(model) torch.cuda.empty_cache() train(local_rank, world_size, pth_dir, cfgs['frequency'], criterion, train_loader, model, optimizer, scheduler)
Example #3
Source File: distributed.py From catalyst with Apache License 2.0 | 5 votes |
def get_nn_from_ddp_module(model: nn.Module) -> nn.Module: """ Return a real model from a torch.nn.DataParallel, torch.nn.parallel.DistributedDataParallel, or apex.parallel.DistributedDataParallel. Args: model: A model, or DataParallel wrapper. Returns: A model """ if check_ddp_wrapped(model): model = model.module return model