MPI_regular_hyperband.py: main script for running regular hyperband.
MPI_swift_hyperband.py: main script for running swift-hyperband.
utils_MPI.py: common funcions of MPI_regular_hyperband.py and MPI_swift_hyperband.py.
template_methods.py: template for the model specific methods.
<whatever model>_methods.py: contains the specific ConfigGenerator class and needed methods for <whatever model>.
start_script_<whatever model>_regular.sh: batch script to run regular hyperband for <whatever model>.
start_script_<whatever model>_swift.sh: batch script to run swift hyperband for <whatever model>.
predictor.py: classical performance predictor.
qpredictor.py: quantum performance predictor.
QSVR_extended.py: quantum SVR implementation. Needed by qpredictor.py.
embeddings.py: file to save and re-use embeddings for the annealer. Needed by qpredictor.py.
utility.py: Needed by QSVR_extended.py.
create_env-dwave.sh: create the required environment to run the code.
How to add a new target model: MyModel
Create the file mymodel_methods.py.
Code the class ConfigGeneratorMyModel inside the file mymodel_methods.py following the declaration in template_methods.py. Taking a look at ConfigGeneratorLSTM in lstm_methods.py may also be useful.
Code the method train_myModel inside the file mymodel_methods.py following the declaration in template_methods.py. Taking a look at train_lstm in lstm_methods.py may also be useful.
Code the additional methods that you may need for saving/loading/building the model and loading the data.
Edit MPI_regular_hyperband.py and MPI_swift_hyperband.py between the comments that state CHANGE THIS TO ADD MORE MODELS. More precisely, add a new case in the if else structure as follows: