Example #1
0
    'batch_size': BATCH_SIZE,
    'epochs': EPOCHS,
    'verbose': 1,
    'callbacks': [es],
    'use_multiprocessing': True
}

# ==================================================================================
# Training and prediction

training2(img_list, pctls, model_func, feat_list_new, uncertainty, data_path,
          batch, DROPOUT_RATE, HOLDOUT, **model_params)

prediction(img_list, pctls, feat_list_new, data_path, batch, remove_perm=True)

viz_params = {
    'img_list': img_list,
    'pctls': pctls,
    'data_path': data_path,
    'uncertainty': uncertainty,
    'batch': batch,
    'feat_list_new': feat_list_new
}

viz = VizFuncs(viz_params)
viz.metric_plots()
viz.time_plot()
# viz.metric_plots_multi()
viz.false_map()
# viz.time_size()
Example #2
0
tf.config.set_soft_device_placement(True)
# tf.config.experimental.set_visible_devices(NUM_PARALLEL_EXEC_UNITS, 'CPU')
os.environ["OMP_NUM_THREADS"] = str(NUM_PARALLEL_EXEC_UNITS)
os.environ["KMP_BLOCKTIME"] = "30"
os.environ["KMP_SETTINGS"] = "1"
os.environ["KMP_AFFINITY"] = "granularity=fine,verbose,compact,1,0"

# ==================================================================================
# Training and prediction with random batches of clouds

cloud_dir = data_path / 'clouds'

training6(img_list, pctls, model_func, feat_list_new, data_path, batch, T,
          DROPOUT_RATE, **model_params)

prediction(img_list,
           pctls,
           feat_list_new,
           data_path,
           batch,
           remove_perm=True,
           **model_params)

viz = VizFuncs(viz_params)
viz.metric_plots()
viz.cir_image()
viz.time_plot()
viz.false_map()
viz.metric_plots_multi()
viz.time_size()
Example #3
0
            accuracy.append(accuracy_score(y_test, preds))
            precision.append(precision_score(y_test, preds))
            recall.append(recall_score(y_test, preds))
            f1.append(f1_score(y_test, preds))

            del preds, p_hat, aleatoric, epistemic, X_test, y_test, model, data_test, data_vector_test, data_ind_test

        metrics = pd.DataFrame(
            np.column_stack([pctls, accuracy, precision, recall, f1]),
            columns=['cloud_cover', 'accuracy', 'precision', 'recall', 'f1'])
        metrics.to_csv(metrics_path / 'metrics.csv', index=False)
        times = [float(i) for i in times]
        times_df = pd.DataFrame(np.column_stack([pctls, times]),
                                columns=['cloud_cover', 'testing_time'])
        times_df.to_csv(metrics_path / 'testing_times.csv', index=False)


# ======================================================================================================================
training_BNN_gen_model(img_list_train, feat_list_new, model_func, data_path,
                       batch, dropout_rate, **model_params)
prediction_BNN_gen_model(img_list_test, pctls, feat_list_new, data_path, batch,
                         MC_passes, **model_params)
viz = VizFuncs(viz_params)
viz.metric_plots()
viz.metric_plots_multi()
viz.time_plot()
viz.false_map(probs=False, save=False)
viz.false_map_borders()
viz.fpfn_map()
viz.uncertainty_map_NN()
Example #4
0
                                             drop_intermediate=True)
                fpr = np.array(fpr)
                tpr = np.array(tpr)

                roc_vals = pd.DataFrame(np.column_stack([fpr, tpr, thresh]),
                                        columns=['fpr', 'tpr', 'thresh'])
                roc_vals.to_csv(metrics_path /
                                '{}'.format('roc_curve_' + str(pctl) + '.csv'),
                                index=False)

# Delete ROC data to save space
# for batch in batches:
#     for img in img_list:
#         metrics_path = data_path / batch / 'metrics' / 'testing' / img
#         for pctl in pctls:
#             Path(metrics_path / '{}'.format('roc_curve_' + str(pctl) + '.csv')).unlink()

# ======================================================================================================================
# Plot ROC curves

for batch in batches:
    viz_params = {
        'img_list': img_list,
        'pctls': pctls,
        'data_path': data_path,
        'batch': batch,
        'feat_list_new': feat_list_new
    }

    viz = VizFuncs(viz_params)
Example #5
0
File: BNN.py Project: moghimis/CPR
    'batch': batch,
    'feat_list_new': feat_list_new
}

NUM_PARALLEL_EXEC_UNITS = os.cpu_count()
config = tf.compat.v1.ConfigProto(
    intra_op_parallelism_threads=NUM_PARALLEL_EXEC_UNITS,
    inter_op_parallelism_threads=4,
    allow_soft_placement=True,
    device_count={'CPU': NUM_PARALLEL_EXEC_UNITS})
session = tf.compat.v1.Session(config=config)
tf.compat.v1.keras.backend.set_session(session)
os.environ["KMP_BLOCKTIME"] = "30"
os.environ["KMP_SETTINGS"] = "1"
os.environ["KMP_AFFINITY"] = "granularity=fine,verbose,compact,1,0"
os.environ['MKL_NUM_THREADS'] = str(NUM_PARALLEL_EXEC_UNITS)
os.environ['GOTO_NUM_THREADS'] = str(NUM_PARALLEL_EXEC_UNITS)
os.environ['OMP_NUM_THREADS'] = str(NUM_PARALLEL_EXEC_UNITS)

# ==================================================================================
training_bnn(img_list, pctls, feat_list_new, data_path, batch, **model_params)
prediction_bnn(img_list, pctls, feat_list_new, data_path, batch, MC_passes)
viz = VizFuncs(viz_params)
viz.metric_plots()
viz.cir_image()
viz.time_plot()
viz.false_map(probs=False, save=False)
viz.false_map_borders()
viz.metric_plots_multi()
viz.median_highlight()
Example #6
0
    'feat_list_new': feat_list_new
}

# Set some optimized config parameters
tf.config.threading.set_intra_op_parallelism_threads(NUM_PARALLEL_EXEC_UNITS)
tf.config.threading.set_inter_op_parallelism_threads(2)
tf.config.set_soft_device_placement(True)
# tf.config.experimental.set_visible_devices(NUM_PARALLEL_EXEC_UNITS, 'CPU')
os.environ["OMP_NUM_THREADS"] = str(NUM_PARALLEL_EXEC_UNITS)
os.environ["KMP_BLOCKTIME"] = "30"
os.environ["KMP_SETTINGS"] = "1"
os.environ["KMP_AFFINITY"] = "granularity=fine,verbose,compact,1,0"

# ==================================================================================
# Training and prediction with random batches of clouds

cloud_dir = data_path / 'clouds'

# training3(img_list, pctls, model_func, feat_list_new, uncertainty,
#           data_path, batch, DROPOUT_RATE, HOLDOUT, **model_params)
#
# prediction_with_uncertainty(img_list, pctls, feat_list_new, data_path, batch, DROPOUT_RATE, MC_PASSES=MC_PASSES,
#                             weight_decay=0.005, length_scale=0.00001, remove_perm=True, **model_params)

viz = VizFuncs(viz_params)
viz.metric_plots()
viz.time_plot()
# viz.false_map()
viz.metric_plots_multi()
# viz.time_size()
Example #7
0
# Set some optimized config parameters
NUM_PARALLEL_EXEC_UNITS = os.cpu_count()
config = tf.compat.v1.ConfigProto(
    intra_op_parallelism_threads=NUM_PARALLEL_EXEC_UNITS,
    inter_op_parallelism_threads=4,
    allow_soft_placement=True,
    device_count={'CPU': NUM_PARALLEL_EXEC_UNITS})
session = tf.compat.v1.Session(config=config)
tf.compat.v1.keras.backend.set_session(session)
# os.environ["OMP_NUM_THREADS"] = "4"
os.environ["KMP_BLOCKTIME"] = "30"
os.environ["KMP_SETTINGS"] = "1"
os.environ["KMP_AFFINITY"] = "granularity=fine,verbose,compact,1,0"

os.environ['MKL_NUM_THREADS'] = str(NUM_PARALLEL_EXEC_UNITS)
os.environ['GOTO_NUM_THREADS'] = str(NUM_PARALLEL_EXEC_UNITS)
os.environ['OMP_NUM_THREADS'] = str(NUM_PARALLEL_EXEC_UNITS)

# ==================================================================================

# training4(img_list, pctls, model_func, feat_list_new, data_path, batch, **model_params)
# prediction(img_list, pctls, feat_list_new, data_path, batch, remove_perm=True, **model_params)
viz = VizFuncs(viz_params)
# viz.metric_plots()
# viz.cir_image()
# viz.time_plot()
# viz.false_map(probs=False, save=False)
viz.false_map_borders()
# viz.metric_plots_multi()
# viz.median_highlight()
Example #8
0
    'glacial_outwash_coarse', 'hydric', 'eolian_sed_coarse', 'eolian_sed_fine',
    'saline_lake_sed', 'alluv_coastal_sed_fine', 'coastal_sed_coarse',
    'GSW_distSeasonal', 'aspect', 'curve', 'elevation', 'hand', 'slope', 'spi',
    'twi', 'sti', 'GSW_perm', 'flooded'
]

img_list = ['4337_LC08_026038_20160325_1']

viz_params = {
    'img_list': img_list,
    'pctls': pctls,
    'data_path': data_path,
    'batch': batch,
    'feat_list_new': feat_list_new
}
viz = VizFuncs(viz_params)
viz.cir_image(overwrite=True)


# Doesn't work very well for CIR images - water and dry earth are both turqoise.
def hist_equalize_cir(img,
                      view_hist=False,
                      view_img=False,
                      std_low=1.75,
                      std_high=1.75,
                      save=False):
    spectra_stack_path = data_path / 'images' / img / 'stack' / 'spectra_stack.tif'
    band_combo_dir = data_path / 'band_combos'
    cir_file = band_combo_dir / '{}'.format(img + '_cir_img' + '.png')

    with rasterio.open(spectra_stack_path, 'r') as f:
Example #9
0
File: RF.py Project: moghimis/CPR
            print('Evaluating predictions')
            accuracy.append(accuracy_score(y_test, preds))
            precision.append(precision_score(y_test, preds))
            recall.append(recall_score(y_test, preds))
            f1.append(f1_score(y_test, preds))

            del preds, pred_probs, X_test, y_test, trained_model, data_test, data_vector_test, data_ind_test

        metrics = pd.DataFrame(np.column_stack([pctls, accuracy, precision, recall, f1]),
                               columns=['cloud_cover', 'accuracy', 'precision', 'recall', 'f1'])
        metrics.to_csv(metrics_path / 'metrics.csv', index=False)
        times = [float(i) for i in times]  # Convert time objects to float, otherwise valMetrics will be non-numeric
        times_df = pd.DataFrame(np.column_stack([pctls, times]),
                                columns=['cloud_cover', 'testing_time'])
        times_df.to_csv(metrics_path / 'testing_times.csv', index=False)


# ======================================================================================================================
# rf_training(img_list, pctls, feat_list_new, data_path, batch, n_jobs=None)
# prediction_rf(img_list, pctls, feat_list_new, data_path, batch)
viz = VizFuncs(viz_params)
# viz.metric_plots()
viz.cir_image()
viz.rgb_image(percent=1.25, overwrite=True)
# viz.time_plot()
# viz.false_map(probs=True, save=False)
# viz.false_map_borders()
# viz.metric_plots_multi()
# viz.median_highlight()
Example #10
0
            recall.append(recall_score(y_test, preds))
            f1.append(f1_score(y_test, preds))
            roc_auc.append(roc_auc_score(y_test, pred_probs[:, 1]))

            del preds, pred_probs, X_test, y_test, trained_model, data_test, data_vector_test, data_ind_test

        metrics = pd.DataFrame(
            np.column_stack([pctls, accuracy, precision, recall, f1, roc_auc]),
            columns=[
                'cloud_cover', 'accuracy', 'precision', 'recall', 'f1', 'auc'
            ])
        metrics.to_csv(metrics_path / 'metrics.csv', index=False)
        times = [
            float(i) for i in times
        ]  # Convert time objects to float, otherwise valMetrics will be non-numeric
        times_df = pd.DataFrame(np.column_stack([pctls, times]),
                                columns=['cloud_cover', 'testing_time'])
        times_df.to_csv(metrics_path / 'testing_times.csv', index=False)


# ======================================================================================================================
# NN_training(img_list, pctls, model_func, feat_list_new, feat_list_all, data_path, batch, **model_params)
NN_prediction(img_list, pctls, feat_list_all, data_path, batch, **model_params)
viz = VizFuncs(viz_params)
viz.metric_plots()
# viz.metric_plots_multi()
# viz.median_highlight()
# viz.time_plot()
# viz.false_map(probs=False, save=False)
# viz.false_map_borders()