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)