examples/titanic/multiple_model_training.py (28 lines of code) (raw):

#!/usr/bin/env python # coding: utf-8 # # Multiple Model Training Example # # This example trains multiple models and extracts training statistics # ## Import required libraries from ludwig.api import LudwigModel from ludwig.visualize import learning_curves import logging import shutil # clean out old results try: shutil.rmtree('./results') except FileNotFoundError: pass try: shutil.rmtree('./visualizations') except FileNotFoundError: pass # list models to train list_of_model_ids = ['model1', 'model2'] list_of_train_stats = [] # ## Train models for model_id in list_of_model_ids: print('>>>> training: ', model_id) # Define Ludwig model object that drive model training model = LudwigModel(model_definition_file='./' + model_id + '_definition.yaml', logging_level=logging.WARN) # initiate model training train_stats = model.train(data_csv='./data/train.csv', experiment_name='multiple_experiment', model_name=model_id) # save training stats for later use list_of_train_stats.append(train_stats) print('>>>>>>> completed: ', model_id,'\n') model.close() # generating learning curves from training learning_curves(list_of_train_stats, 'Survived', model_names=list_of_model_ids, output_directory='./visualizations', file_format='png')