(trial: optuna.trial.Trial)
| 71 | loss_bg_weight = 5 |
| 72 | |
| 73 | def objective(trial: optuna.trial.Trial) -> float: |
| 74 | |
| 75 | hparams = get_hyperparameter(trial, positional_encoding_name, neural_network_name) |
| 76 | hparams["num_classes"] = num_classes |
| 77 | hparams["presence_only_loss"] = presence_only |
| 78 | hparams["loss_bg_weight"] = loss_bg_weight |
| 79 | hparams["regression"] = regression |
| 80 | |
| 81 | spatialencoder = LocationEncoder( |
| 82 | positional_encoding_name, |
| 83 | neural_network_name, |
| 84 | hparams=hparams |
| 85 | ) |
| 86 | |
| 87 | trainer = pl.Trainer( |
| 88 | max_epochs=epochs, |
| 89 | log_every_n_steps=5, |
| 90 | accelerator='gpu', |
| 91 | callbacks=[EarlyStopping(monitor="val_loss", mode="min", patience=30)]) |
| 92 | |
| 93 | trainer.logger.log_hyperparams(hparams) |
| 94 | |
| 95 | trainer.fit(model=spatialencoder, datamodule=datamodule) |
| 96 | |
| 97 | return trainer.callback_metrics["val_loss"].item() |
| 98 | |
| 99 | pruner = optuna.pruners.MedianPruner() |
| 100 | study_name = f"{dataset}-{positional_encoding_name}-{neural_network_name}" |
nothing calls this directly
no test coverage detected