diff --git a/ppocr/modeling/architectures/det_model.py b/ppocr/modeling/architectures/det_model.py index e09bcbe9b9193027c3bd02b890793f5c770fd332..5016546ac08d06d361d0352498ac853084e61bca 100755 --- a/ppocr/modeling/architectures/det_model.py +++ b/ppocr/modeling/architectures/det_model.py @@ -109,7 +109,10 @@ class DetModel(object): """ image, labels, loader = self.create_feed(mode) conv_feas = self.backbone(image) - predicts = self.head(conv_feas) + if self.algorithm == "DB": + predicts = self.head(conv_feas, mode) + else: + predicts = self.head(conv_feas) if mode == "train": losses = self.loss(predicts, labels) return loader, losses diff --git a/ppocr/modeling/heads/det_db_head.py b/ppocr/modeling/heads/det_db_head.py index bafacaaad533dd1a6eb7129eb37b098f8738e671..c89a1255f2bb864bb4567ec92a51a7d35faad9b0 100644 --- a/ppocr/modeling/heads/det_db_head.py +++ b/ppocr/modeling/heads/det_db_head.py @@ -196,7 +196,7 @@ class DBHead(object): fuse = fluid.layers.concat(input=[p5, p4, p3, p2], axis=1) shrink_maps = self.binarize(fuse) if mode != "train": - return {"maps", shrink_maps} + return {"maps": shrink_maps} threshold_maps = self.thresh(fuse) binary_maps = self.step_function(shrink_maps, threshold_maps) y = fluid.layers.concat( diff --git a/tools/program.py b/tools/program.py index 67cef9bc259a18bf0ca514c95e731506302ed493..18a4ab7dff8c7c8c9e1ab973c150266ca6815450 100755 --- a/tools/program.py +++ b/tools/program.py @@ -191,7 +191,7 @@ def build_export(config, main_prog, startup_prog): func_infor = config['Architecture']['function'] model = create_module(func_infor)(params=config) image, outputs = model(mode='export') - fetches_var_name = sorted([name for name in outputs]) + fetches_var_name = sorted([name for name in outputs.keys()]) fetches_var = [outputs[name] for name in fetches_var_name] feeded_var_names = [image.name] target_vars = fetches_var @@ -271,7 +271,7 @@ def train_eval_det_run(config, exe, train_info_dict, eval_info_dict): train_loader.reset() if epoch == 0 and save_epoch_step == 1: save_path = save_model_dir + "/iter_epoch_0" - save_model(train_info_dict['train_program'],save_path) + save_model(train_info_dict['train_program'], save_path) if epoch > 0 and epoch % save_epoch_step == 0: save_path = save_model_dir + "/iter_epoch_%d" % (epoch) save_model(train_info_dict['train_program'], save_path) @@ -350,7 +350,7 @@ def train_eval_rec_run(config, exe, train_info_dict, eval_info_dict): train_loader.reset() if epoch == 0 and save_epoch_step == 1: save_path = save_model_dir + "/iter_epoch_0" - save_model(train_info_dict['train_program'],save_path) + save_model(train_info_dict['train_program'], save_path) if epoch > 0 and epoch % save_epoch_step == 0: save_path = save_model_dir + "/iter_epoch_%d" % (epoch) save_model(train_info_dict['train_program'], save_path)