MetOffice / XBTs_classification

Project for the classification of eXpendable Bathy Thermographs
BSD 3-Clause "New" or "Revised" License
4 stars 2 forks source link

Run hyperparameter tuning on AzML using HyperDriveConfig #84

Closed stevehadd closed 3 years ago

stevehadd commented 3 years ago

Once #9 is complete, we will have a pipeline for running experiments on AzureML. The next stage is to make use of the AzML hyperparameter tuning functionality i the HyperDriveConfig class: https://docs.microsoft.com/en-gb/python/api/azureml-train-core/azureml.train.hyperdrive.hyperdriveconfig?view=azure-ml-py

This can make good use of the AzML compute cluster to run jobs in parallel.

This should happen after the planned refactoring as the code is getting a bit messy.

Some addtional refactoring of the current AzML implementation that might be required:

stevehadd commented 3 years ago

I've been investigating this today. The way I have been passing parameters into the pipeline (through experiment definition JSON file) doesn't fit very well with the AzML hyper parameter tuning API (where one passes arguments through the command line. A naive implementation would require adding the relevant hyperparameters as command line options, but the hyperparameters vary between different models, so it would break flexibility of the code to switch between different algorithms based on the settings in the JSON file. To maintain this flexibility, I intend to make the following changes