示例#1
0
文件: run_test.py 项目: diff7/tab_net
    if params['net_type'] == 'embeddings': model = TabNet(params)
    
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    
    # TODO: move problem type to params
    
    looper = Looper(device, 'cls', add_metrics)
    
    model.cuda()
    torch.save(model.state_dict(),EXP_NAME+'.pth')
    optimizer = optim.AdamW(model.parameters(), lr=params['lr'], weight_decay=1e-06)
    loss_fn = torch.nn.CrossEntropyLoss()

    val_funcs = [roc_auc_score, accuracy_score]
    print(f'Training neural {params["net_type"]}')
    looper.train(model, 
            10,
            train_set, 
            val_set,
            optimizer,
            loss_fn,
            val_funcs)
    
    torch.save(model.state_dict(),EXP_NAME+'.pth')
    return float(max(looper.history()['roc_auc_score']))
    

if __name__ == '__main__':
    run = ex._create_run()
    run(run.config)