def _single_train(model, dataset, cfg, logger): if cfg.gpus > 1: raise NotImplemented # build runner optimizer = build_optimizer(model, cfg.optimizer) runner = Runner(model, batch_processor, optimizer, cfg.work_dir, logger) runner.register_training_hooks(cfg.lr_config, cfg.optimizer_config, cfg.checkpoint_config, cfg.log_config) if cfg.resume_from: runner.resume(cfg.resume_from) elif cfg.load_from: runner.load_checkpoint(cfg.load_from) features = torch.FloatTensor(dataset.features) adj = sparse_mx_to_torch_sparse_tensor(dataset.adj) labels = torch.FloatTensor(dataset.labels) if cfg.cuda: model.cuda() features = features.cuda() adj = adj.cuda() labels = labels.cuda() train_data = [[features, adj, labels]] runner.run(train_data, cfg.workflow, cfg.total_epochs)
def _single_train(model, data_loaders, cfg): if cfg.gpus > 1: raise NotImplemented # put model on gpus model = MMDataParallel(model, device_ids=range(cfg.gpus)).cuda() # build runner optimizer = build_optimizer(model, cfg.optimizer) runner = Runner(model, batch_processor, optimizer, cfg.work_dir, cfg.log_level, iter_size=cfg.iter_size) runner.register_training_hooks(cfg.lr_config, cfg.optimizer_config, cfg.checkpoint_config, cfg.log_config) if cfg.resume_from: runner.resume(cfg.resume_from) elif cfg.load_from: runner.load_checkpoint(cfg.load_from) runner.run(data_loaders, cfg.workflow, cfg.total_epochs)