Management models
The instance created by the Main class allow to manage the models, in this section we will see the CRUD for models.
Create a model​
The add_model method is used to define a model. Has the following parameters:
- model_name (string): Name of the model.
 - run_id (string): Run id of the model, by default is the current time in format 
YYYY.MM.DD_HH.mm.ss. - model_params (dictionary): Parameters to build the model, this parameters will be passed to the 
builder_functiondefined in the constructor. - load_model_params (dictionary, optional): Parameters to load the model, see documentation of 
tf.keras.models.load_model. - compile_params (dictionary, optional): Parameters to compile the model, see documentation of 
tf.keras.Model.compile. 
The added model will be saved in the following structure folder:
Folder structure
models_folder
└─ model_name
   └─ run_id
      ├─ logs                               
      │  ├─ train
      │  ├─ validation
      ├─ model_name_model_params_checkpoint.h5
      └─ model_name_params.json
Example
model_1_data = ia_maker.add_model(
  model_name='model_1',
  model_params={ 'input_shape': (2, 1) },
  load_model_params={},
  compile_params={
    'metrics': ['accuracy'],
    'optimizer': 'adam', 'loss': 'mse'
  },
)
Return
{
  'run_id': A unique identifier for the model,
  'model_name': Name of the model,
  'model_ident': Name of the model and params,
  'model_params': Parameters to build the model,
  'compile_params': Parameters to compile the model,
  'load_model_params': Parameters to load the model,
  'check_path': Path to save the checkpoints,
  'path_model': Path to save the model,
  'log_dir': Path to save the logs,
}
Output
GPU info: /physical_device:GPU:0
Model model_1/2022.07.18_10.04.03 added
info
The model defined won't be create immediately, this will be created when you call the train method. This in order to save your resources.
Update a model​
The update_model method is used to update a model. Has the following parameters (all are optionals except model_name):
- model_name (string): Name of the model.
 - run_id (string): Run id of the model.
 - model_params (dictionary): to update the parameters to build the model.
 - compile_params (dictionary): to update the parameters to compile the model.
 - load_model_params (dictionary): to update the parameters to load the model.
 
Example
ia_maker.update_model(
  model_name='model_1',
  run_id='2022.07.18_10.04.03',
  model_params={ 'input_shape': (2, 1) },
  compile_params={
    'optimizer': 'adam', 'loss': 'mse',
    'metrics': ['accuracy']
  },
  load_model_params={}
)
Output
Model model_1/modelo_dense_1 was updated
Delete a model​
The delete_model method is used to delete a model. Has the following parameters:
- model_data (string): Model data returned by 
add_modelmethod. - delete_folder (boolean): Delete the folder of the model, by default is 
False. 
Example
ia_maker.delete_model(model_1_data, delete_folder=True)
Output
Model model_1/2022.07.18_10.04.03 was deleted
Show models​
The show_models method is used to show the models defined via standard output.
Example
print('Show all models:')
ia_maker.show_models()
Output
Show all models:
Models:
  model_1
    2022.07.18_10.04.03
      model_ident: model_1_(2, 1)
      model_params: {'input_shape': (2, 1)}
      compile_params: {'optimizer': 'adam', 'loss': 'mse', 'metrics': ['accuracy']}
      load_model_params: {'filepath': './models/model_1/2022.07.18_10.04.03/model_1_(2, 1)_checkpoint.h5'}
      check_path: ./models/model_1/2022.07.18_10.04.03/model_1_(2, 1)_checkpoint.h5
      path_model: ./models/model_1/2022.07.18_10.04.03
      log_dir: ./models/model_1/2022.07.18_10.04.03/logs