From d7ac9918863ff49a1340d61ed43cea881bc8658a Mon Sep 17 00:00:00 2001 From: pgbrodrick Date: Sat, 10 Apr 2021 16:20:51 -0700 Subject: [PATCH] version updates and revisions to make examples functional --- environment.yaml | 4 +- .../flight_line_extrapolation_example.py | 23 ++++---- .../termite_mounds/termite_mound_example.py | 52 +++++++++++-------- 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/environment.yaml b/environment.yaml index cccac88..a1b6727 100644 --- a/environment.yaml +++ b/environment.yaml @@ -15,5 +15,7 @@ dependencies: - scikit-learn>=0.21.2 - scipy>=1.2.1 - shapely>=1.6.4 - - tensorflow=1.13.1 + - tensorflow=1.15 - tqdm>=4.32.1 + - albumentations>=0.5.0 + - requests diff --git a/examples/flight_line_extrapolation/flight_line_extrapolation_example.py b/examples/flight_line_extrapolation/flight_line_extrapolation_example.py index 736264c..74d8657 100644 --- a/examples/flight_line_extrapolation/flight_line_extrapolation_example.py +++ b/examples/flight_line_extrapolation/flight_line_extrapolation_example.py @@ -1,11 +1,11 @@ import argparse import os -import rsCNN.reporting.reports -from rsCNN.configuration import configs -from rsCNN.data_management import apply_model_to_data, data_core -from rsCNN.experiments import experiments -from rsCNN.utils import logging +import bfgn.reporting.reports +from bfgn.configuration import configs +from bfgn.data_management import apply_model_to_data, data_core +from bfgn.experiments import experiments +from bfgn.utils import logging parser = argparse.ArgumentParser(description='Example spatial extrapolation application') parser.add_argument('settings_file') @@ -14,8 +14,8 @@ parser.add_argument('-debug_file', type=str, default='debug.out') args = parser.parse_args() -logger = logging.get_root_logger(args.debug_file) -logger.setLevel(args.debug_level) +if args.debug_file is not None: + logger = logging.get_bfgn_logger(None, args.debug_level, args.debug_file) assert os.path.isfile(args.settings_file), 'Settings file: ' + args.settings_file + ' does not exist' config = configs.create_config_from_file(args.settings_file) @@ -30,23 +30,22 @@ experiment.build_or_load_model(data_container=data_container) if (args.key == 'prelim_report'): - prelim_report = rsCNN.reporting.reports.Reporter(data_container, experiment, config) + prelim_report = bfgn.reporting.reports.Reporter(data_container, experiment, config) prelim_report.create_model_report() if (args.key == 'train' or args.key == 'all'): experiment.fit_model_with_data_container(data_container, resume_training=True) if (args.key == 'report' or args.key == 'all'): - final_report = rsCNN.reporting.reports.Reporter(data_container, experiment, config) + final_report = bfgn.reporting.reports.Reporter(data_container, experiment, config) final_report.create_model_report() if (args.key == 'apply' or args.key == 'all'): application_feature_files = config.raw_files.feature_files[0] application_output_basenames = ['examples/output/feat_subset_applied_cnn.tif'] for _f in range(len(application_feature_files)): - rsCNN.data_management.apply_model_to_data.apply_model_to_raster(experiment.model, + bfgn.data_management.apply_model_to_data.apply_model_to_site(experiment.model, data_container, application_feature_files[_f], application_output_basenames[_f], - make_png=False, - make_tif=True) + output_format="GTiff") diff --git a/examples/termite_mounds/termite_mound_example.py b/examples/termite_mounds/termite_mound_example.py index bafede7..f9c5380 100644 --- a/examples/termite_mounds/termite_mound_example.py +++ b/examples/termite_mounds/termite_mound_example.py @@ -8,21 +8,21 @@ import gdal import requests -import rsCNN.reporting.reports -from rsCNN.configuration import configs -from rsCNN.data_management import apply_model_to_data, data_core -from rsCNN.experiments import experiments -from rsCNN.utils import logging +import bfgn.reporting.reports +from bfgn.configuration import configs +from bfgn.data_management import apply_model_to_data, data_core +from bfgn.experiments import experiments +from bfgn.utils import logging parser = argparse.ArgumentParser(description='Example termite mound classification') +parser.add_argument('key', type=str, choices=['all', 'prelim_report', 'train', 'report', 'apply']) parser.add_argument('-debug_level', type=str, default='INFO', choices=['DEBUG', 'INFO', 'WARN', 'ERROR']) -parser.add_argument('-debug_file', type=str, default='debug.out') +parser.add_argument('-debug_file', type=str, default=None) parser.add_argument('-run_as_raster', type=bool, default=False) args = parser.parse_args() -logger = logging.get_root_logger(args.debug_file) -logger.setLevel(args.debug_level) - +if args.debug_file is not None: + logger = logging.get_bfgn_logger(None, args.debug_level, args.debug_file) ######################### Download sample data from ecoCNN ################################ DATA_DIR = 'scratch' @@ -86,17 +86,23 @@ def get_data_from_url(url, destination): experiment = experiments.Experiment(config) experiment.build_or_load_model(data_container=data_container) -experiment.fit_model_with_data_container(data_container, resume_training=True) - -final_report = rsCNN.reporting.reports.Reporter(data_container, experiment, config) -final_report.create_model_report() - -application_feature_files = config.raw_files.feature_files[0] -application_output_basenames = ['scratch/applied_output_model.tif'] -for _f in range(len(application_feature_files)): - rsCNN.data_management.apply_model_to_data.apply_model_to_raster(experiment.model, - data_container, - application_feature_files[_f], - application_output_basenames[_f], - make_png=True, - make_tif=True) +if (args.key == 'prelim_report' or args.key == 'all'): + prelim_report = bfgn.reporting.reports.Reporter(data_container, experiment, config) + prelim_report.create_model_report() + +if (args.key == 'train' or args.key == 'all'): + experiment.fit_model_with_data_container(data_container, resume_training=True) + +if (args.key == 'report' or args.key == 'all'): + final_report = bfgn.reporting.reports.Reporter(data_container, experiment, config) + final_report.create_model_report() + +if (args.key == 'apply' or args.key == 'all'): + application_feature_files = config.raw_files.feature_files[0] + application_output_basenames = ['scratch/applied_output_model'] + for _f in range(len(application_feature_files)): + bfgn.data_management.apply_model_to_data.apply_model_to_site(experiment.model, + data_container, + [application_feature_files[_f]], + application_output_basenames[_f], + output_format="GTiff")