예제 #1
0
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)
예제 #2
0
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']))