def main(config): logger = config.get_logger('train') # fix random seeds for reproducibility seed_everything(seed=config.config['seed']) metric_bests = [] # logger = config.get_logger('train') for i,train_dataloader, valid_dataloader, test_dataloader in makeDataLoader(config): model = makeModel(config) # logger.info(model) criterion = makeLoss(config) metrics = makeMetrics(config) optimizer = makeOptimizer(config, model) lr_scheduler = makeLrSchedule(config, optimizer, train_dataloader) trainer = Trainer(model, criterion, metrics, optimizer, config=config, i_fold=i, data_loader=train_dataloader, valid_data_loader=valid_dataloader, test_data_loader=test_dataloader, lr_scheduler=lr_scheduler) trainer.train() metric_bests.append(trainer.mnt_best) logger.info('metric scores:{}'.format(metric_bests)) logger.info('metric mean score: {}'.format(sum(metric_bests) / float(len(metric_bests))))
def main(config): from data_process import makeDataLoader # from trainer.htqe_trainer import Trainer logger = config.get_logger('train') train_dataloader, valid_dataloader, test_dataloader = makeDataLoader( config) model = makeModel(config) logger.info(model) criterion = makeLoss(config) metrics = makeMetrics(config) optimizer = makeOptimizer(config, model) lr_scheduler = makeLrSchedule(config, optimizer, train_dataloader.dataset) trainer = Trainer(model, criterion, metrics, optimizer, config=config, data_loader=train_dataloader, valid_data_loader=valid_dataloader, test_data_loader=test_dataloader, lr_scheduler=lr_scheduler) trainer.train()
def main(config): from data_process import makeDataLoader # 针对不同的数据,训练过程的设置略有不同。 # from trainer.weibo_trainer import Trainer # weibo # from trainer.cnews_trainer import Trainer # cnews from trainer.medical_question_trainer import Trainer logger = config.get_logger('train') train_dataloader, valid_dataloader, test_dataloader = makeDataLoader(config) model = makeModel(config) logger.info(model) criterion = makeLoss(config) metrics = makeMetrics(config) optimizer = makeOptimizer(config, model) lr_scheduler = makeLrSchedule(config, optimizer, train_dataloader.dataset) trainer = Trainer(model, criterion, metrics, optimizer, config=config, data_loader=train_dataloader, valid_data_loader=valid_dataloader, test_data_loader=test_dataloader, lr_scheduler=lr_scheduler) trainer.train()
def main(config): logger = config.get_logger('train') train_dataloader, valid_dataloader = makeDataLoader(config) model = makeModel(config) logger.info(model) # criterion = makeLoss(config) # metrics = makeMetrics(config) optimizer = makeOptimizer(config, model) lr_scheduler = makeLrSchedule(config, optimizer, train_dataloader) trainer = Trainer(model, None, None, optimizer, config=config, data_loader=train_dataloader, valid_data_loader=valid_dataloader, test_data_loader=None, lr_scheduler=lr_scheduler) trainer.train()