def main_predict(config): predictions = [] for net_name in config['net_names']: preds = np.load(config[net_name]['predictions_path'], allow_pickle=True) predictions.append(preds) mean_ensemble = np.mean(np.array(predictions), axis=0) np.save(file=config['final_predictions_path'], arr=mean_ensemble) print('saved final mean ensemble predictions at path: {}'.format( config['final_predictions_path'])) dummy_model = NNet(data_paths=config['data_paths']) dummy_model.test_images_predictions = mean_ensemble mean_sub = dummy_model.create_submission_file( path=config['submission_path'], treshold=config['treshold']) save_predictions_pdf(dummy_model, config)
def main_train(config): for net_to_train, net_name in zip(config['net_types'], config['net_names']): net = NNet(net_type=net_to_train, data_paths=config['data_paths']) single_model_training( model=net, save_path=config[net_name]['checkpoint'], additional_epochs=config[net_name]['additional_epochs'], competition_epochs=config[net_name]['competition_epochs'], b_size=config[net_name]['batch_size'], loss=config['loss'], l_rate_a=config['learning_rate_additional_data'], l_rate_b=config['learning_rate_competition_data'], v=config['verbose']) predictions = net.predict_test_data() np.save(file=config[net_name]['predictions_path'], arr=predictions) print('saved model predictions at path: {}'.format( config[net_name]['predictions_path'])) sub = net.create_submission_file(path=config[net_name]['csv_path'], treshold=config['treshold']) print('saved model csv at path: {}'.format( config[net_name]['csv_path']))