示例#1
0
    def start(self):
        config , email_json = ConfigLoader.get_config()
        #patch_pred = PatchPredictions(config)
        if config['ensemble']:
            pred = Ensemble_Predictions(config) 
        elif config['model_name'] in ['unet']:
            pred = PatchPredictions(config)
        else:
            pred = PixelPredictions(config)
        
        if config['change_targets']:
            ind_dirs = PathUtils.get_indicator_directories(None)
            target_ids = list(range(-1,len(ind_dirs)))
#             target_ids = list(range(0,3))
            scores = {}
            for id in target_ids:
                print(f'target id {id}')
                pred.set_target_paths(id)
                max_score, avg_score = pred.train_predict()
                scores[id] = {"max_score":round(max_score,5), "avg_score":round(avg_score,5)}
            
            for key,value in scores.items():
                print(f"For target id {key} the max score is {value['max_score']} and avg score is {value['avg_score']}")
        else:
#         train_gen, test_gen = pred.get_data_generators()
            pred.train_predict()
示例#2
0
 def __init__(self, output_dir, indicators_path, patch_shape,
              img_downscale_factor, tuning):
     self.output_dir = output_dir
     self.patch_shape = patch_shape, patch_shape
     self.indicators_path = indicators_path
     self.indicator_directories = PathUtils.get_indicator_directories(
         self.indicators_path)
     self.img_downscale_factor = img_downscale_factor
     self.tuning = tuning
示例#3
0
    def __init__(self,
                 config,
                 model_name=None,
                 output_dir=None,
                 target_id=None):
        super().__init__(config, model_name, output_dir)

        self.patches_path, self.patch_img_ref_path, self.indicators_path, img_ref_csv, self.ref_data_path = PathUtils.get_paths_for_patches(
            self.config)
        self.indicator_directories = PathUtils.get_indicator_directories(
            self.indicators_path)

        self.set_target_paths(target_id or config['target_id'])
        self.starting_index, self.ending_index = JsonLoader.get_data_size(
            self.config)

        self._prepare_img_refs(self.patch_img_ref_path)
示例#4
0
    def start(self):
        img_ref_csv_path, ref_data_path, targets_path, indicators_path = PathUtils.get_paths(
            self.config)
        irb = ImgRefBuilder(img_ref_csv_path)

        starting_index, ending_index = JsonLoader.get_data_size(self.config)
        img_refs = irb.get_img_ref(starting_index, ending_index)

        patches_folder = self.config['path']['outputs'] + "patches/"
        output_dir = FolderUtils.create_patch_output_folder(
            self.patch_shape, self.img_downscale_factor, patches_folder,
            PathUtils.get_indicator_directories(indicators_path),
            self.config['tuning'], self.config['data_year'],
            self.config['data_prefix'])

        LogUtils.init_log(output_dir)

        pg = PatchGenerator(output_dir=output_dir,
                            indicators_path=indicators_path,
                            img_downscale_factor=self.img_downscale_factor,
                            patch_shape=self.patch_shape,
                            tuning=self.config["tuning"])

        pg.create_img_patches(img_refs, targets_path)
示例#5
0
 def __init__(self, config, model_name=None, output_dir=None):
     super().__init__(config, model_name, output_dir)
     img_ref_csv_path, self.ref_data_path, self.targets_path, self.indicators_path = PathUtils.get_paths(self.config)
     self.indicator_directories = PathUtils.get_indicator_directories(self.indicators_path)
     self.image_downscale_factor = config['image_downscale_factor']
     self._prepare_img_refs(img_ref_csv_path)