def test_predict_raster(test_config, predict_tfrecords):
    #Create class
    mod = Houston2018.AttentionModel(config="conf/houston_config.yml")

    #Replace config for testing env
    for key, value in test_config.items():
        for nested_key, nested_value in value.items():
            mod.config[key][nested_key] = nested_value

    #Create
    mod.create()
    mod.read_data()
    results = mod.predict_raster(predict_tfrecords, batch_size=2)
    predicted_raster = visualize.create_raster(results)

    #Equals size of the input raster
    assert predicted_raster.shape == (12, 15)
Exemple #2
0
print("Unique labels in ytrue {}, unique labels in y_pred {}".format(
    np.unique(np.argmax(y_true, 1)), np.unique(np.argmax(y_pred, 1))))
experiment.log_confusion_matrix(y_true=y_true,
                                y_predicted=y_pred,
                                labels=list(class_labels.values()),
                                title="Confusion Matrix")

#Predict
predict_tfrecords = glob.glob(
    "/orange/ewhite/b.weinstein/Houston2018/tfrecords/predict/*.tfrecord")
results = model.predict_raster(predict_tfrecords, batch_size=512)
#predicted classes
print(results.label.unique())

predicted_raster = visualize.create_raster(results)
print(np.unique(predicted_raster))
experiment.log_image(name="Prediction",
                     image_data=predicted_raster,
                     image_colormap=visualize.discrete_cmap(20,
                                                            base_cmap="jet"))

#Save as tif for resampling
prediction_path = os.path.join(save_dir, "prediction.tif")
predicted_raster = np.expand_dims(predicted_raster, 0)
resample.create_tif(
    "/home/b.weinstein/DeepTreeAttention/data/processed/20170218_UH_CASI_S4_NAD83.tif",
    filename=prediction_path,
    numpy_array=predicted_raster)
filename = resample.resample(prediction_path)
experiment.log_image(name="Resampled Prediction",