From f71593d25b4846c30959edbb6a673a6cad6ce340 Mon Sep 17 00:00:00 2001 From: Steffy-zxf <48793257+Steffy-zxf@users.noreply.github.com> Date: Sun, 10 May 2020 22:58:53 +0800 Subject: [PATCH] fix bug that was resulted by add object detection task (#577) --- paddlehub/finetune/task/base_task.py | 41 ++++++---------------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/paddlehub/finetune/task/base_task.py b/paddlehub/finetune/task/base_task.py index ff589c03..a545eff2 100644 --- a/paddlehub/finetune/task/base_task.py +++ b/paddlehub/finetune/task/base_task.py @@ -344,10 +344,6 @@ class BaseTask(object): # set default phase self.enter_phase("train") - @property - def base_main_program(self): - return self._base_main_program - @contextlib.contextmanager def phase_guard(self, phase): self.enter_phase(phase) @@ -397,7 +393,7 @@ class BaseTask(object): self._build_env_start_event() self.env.is_inititalized = True self.env.main_program = clone_program( - self.base_main_program, for_test=False) + self._base_main_program, for_test=False) self.env.startup_program = fluid.Program() with fluid.program_guard(self.env.main_program, @@ -410,7 +406,6 @@ class BaseTask(object): self.env.metrics = self._add_metrics() if self.is_predict_phase or self.is_test_phase: - # Todo: paddle.fluid.core_avx.EnforceNotMet: Getting 'tensor_desc' is not supported by the type of var kCUDNNFwdAlgoCache. at self.env.main_program = clone_program( self.env.main_program, for_test=True) hub.common.paddle_helper.set_op_attr( @@ -1063,10 +1058,8 @@ class BaseTask(object): capacity=64, use_double_buffer=True, iterable=True) - data_reader = data_loader.set_sample_list_generator( - self.reader, self.places) - # data_reader = data_loader.set_batch_generator( - # self.reader, places=self.places) + data_reader = data_loader.set_batch_generator( + self.reader, places=self.places) else: data_feeder = fluid.DataFeeder( feed_list=self.feed_list, place=self.place) @@ -1083,28 +1076,12 @@ class BaseTask(object): step_run_state.run_step = 1 num_batch_examples = len(batch) - if self.return_numpy == 2: - fetch_result = self.exe.run( - self.main_program_to_be_run, - feed=batch, - fetch_list=self.fetch_list, - return_numpy=False) - # fetch_result = [x if isinstance(x,fluid.LoDTensor) else np.array(x) for x in fetch_result] - fetch_result = [ - x if hasattr(x, 'recursive_sequence_lengths') else - np.array(x) for x in fetch_result - ] - elif self.return_numpy: - fetch_result = self.exe.run( - self.main_program_to_be_run, - feed=batch, - fetch_list=self.fetch_list) - else: - fetch_result = self.exe.run( - self.main_program_to_be_run, - feed=batch, - fetch_list=self.fetch_list, - return_numpy=False) + fetch_result = self.exe.run( + self.main_program_to_be_run, + feed=batch, + fetch_list=self.fetch_list, + return_numpy=self.return_numpy) + if not self.return_numpy: fetch_result = [np.array(x) for x in fetch_result] for index, result in enumerate(fetch_result): -- GitLab