baby.training.hyper_parameter_trainer.HyperParameterTrainer

class baby.training.hyper_parameter_trainer.HyperParameterTrainer(save_dir: Path, cnn_set, gen, aug, outputs, tuner_params: Union[Tuner, None, dict, str] = None)

Bases: object

Optimises hyperparameters for different CNN architectures.

Note: uses Keras-tuner Hypermodels – requires tensorflow 2

Outputs: a set of parameters for that form of model, into a file. If using tensorflow 1: default parameters are used but they can be set by the user under “hyperparameters.json” under each CNN architecture’s dedicated directory.

Attributes
best_parameters
cnn
cnn_dir
tuner

Methods

search([epochs, steps_per_epoch, ...])

Runs search with the instance's generator and tuner.

history

plot_hyperparameter_training

save_best_parameters

use_defaults

__init__(save_dir: Path, cnn_set, gen, aug, outputs, tuner_params: Union[Tuner, None, dict, str] = None)

Methods

__init__(save_dir, cnn_set, gen, aug, outputs)

history(cnn_name)

plot_hyperparameter_training(cnn_name)

save_best_parameters(filename)

search([epochs, steps_per_epoch, ...])

Runs search with the instance's generator and tuner.

use_defaults()

Attributes

best_parameters

cnn

cnn_dir

tuner

search(epochs=100, steps_per_epoch=10, validation_steps=10, **kwargs)

Runs search with the instance’s generator and tuner.

Keyword arguments are those you would normally use in a model.fit call. For instance: ```python tuner.search(generator,

steps_per_epoch=train_steps, epochs=args.nb_epochs, callbacks=[early_stopping, checkpointer, tensor_board], validation_data=val_generator, validation_steps=val_steps, verbose=1, workers=args.nb_workers, class_weight=class_weight)

``` :param kwargs: :return: