Esempio n. 1
0
# Create output network
output_network = OutputNetwork(n_input_features=args.n_kernels,
                               n_output_features=task_definition.get_n_output_features(), n_layers=1, n_units=32)
# Combine networks to DeepRC network
model = DeepRC(max_seq_len=30, sequence_embedding_network=sequence_embedding_network,
               attention_network=attention_network,
               output_network=output_network,
               consider_seq_counts=False, n_input_features=20, add_positional_information=True,
               sequence_reduction_fraction=0.1, reduction_mb_size=int(5e4),
               device=device).to(device=device)


#
# Train DeepRC model
#
train(model, task_definition=task_definition, trainingset_dataloader=trainingset,
      trainingset_eval_dataloader=trainingset_eval, learning_rate=args.learning_rate,
      early_stopping_target_id='binary_target_1',  # Get model that performs best for this task
      validationset_eval_dataloader=validationset_eval, n_updates=args.n_updates, evaluate_at=args.evaluate_at,
      device=device, results_directory="results/multitask_cnn"  # Here our results and trained models will be stored
      )
# You can use "tensorboard --logdir [results_directory] --port=6060" and open "http://localhost:6060/" in your
# web-browser to view the progress


#
# Evaluate trained model on testset
#
scores = evaluate(model=model, dataloader=testset_eval, task_definition=task_definition, device=device)
print(f"Test scores:\n{scores}")
               n_input_features=20,
               add_positional_information=True,
               sequence_reduction_fraction=0.1,
               reduction_mb_size=int(5e4),
               device=device).to(device=device)

#
# Train DeepRC model
#
train(
    model,
    task_definition=task_definition,
    trainingset_dataloader=trainingset,
    trainingset_eval_dataloader=trainingset_eval,
    early_stopping_target_id=
    'status',  # Get model that performs best for this task
    validationset_eval_dataloader=validationset_eval,
    n_updates=args.n_updates,
    evaluate_at=args.evaluate_at,
    device=device,
    results_directory=
    f"results/cmv_with_implanted_signals_{args.id}"  # Here our results and trained models will be stored
)
# You can use "tensorboard --logdir [results_directory] --port=6060" and open "http://localhost:6060/" in your
# web-browser to view the progress

#
# Evaluate trained model on testset
#
scores = evaluate(model=model,
                  dataloader=testset_eval,
                  task_definition=task_definition,