diff --git a/python/paddle/distributed/auto_parallel/constants.py b/python/paddle/distributed/auto_parallel/constants.py index 800d36af3d02a..82b3d4554b76a 100644 --- a/python/paddle/distributed/auto_parallel/constants.py +++ b/python/paddle/distributed/auto_parallel/constants.py @@ -47,9 +47,7 @@ def set_field_default_config(category, field, default_value): set_field_default_config(BASE, "all_ranks", False) set_field_default_config(BASE, "split_data", False) set_field_default_config(BASE, "seed", None) -set_field_default_config( - BASE, "reinit", False -) # Only for debug, and must be set with seed at the same time when the value is True. +set_field_default_config(BASE, "reinit", False) # Only for debug ######################################### # recompute configuration diff --git a/python/paddle/distributed/auto_parallel/engine.py b/python/paddle/distributed/auto_parallel/engine.py index b280f4245f5b6..71dd54478c57d 100644 --- a/python/paddle/distributed/auto_parallel/engine.py +++ b/python/paddle/distributed/auto_parallel/engine.py @@ -283,9 +283,10 @@ def _build(self, mode): self._dist_contexts[mode].gradient_scale = self._strategy.gradient_scale def _optimization_tuning(self, mode, dataset, batch_size): - if not self._strategy.tuning.enable or mode != "train": - return + if not self._tuning.enable: + raise ValueError("Please set `tuning.enable=True`.") + assert mode == "train" # Do the build process self._build(mode) # Do the planning process @@ -309,8 +310,6 @@ def _optimization_tuning(self, mode, dataset, batch_size): # update the strategy self._dist_contexts[ mode]._strategy = self._optimization_tuner.get_best_config() - else: - return def _plan(self, mode): if self._planned_mode is None: @@ -620,6 +619,7 @@ def fit(self, self.evaluate(valid_data, valid_sample_split, batch_size, valid_steps, collate_fn, callbacks) self._switch_mode("train") + self._reset_metrics() return outputs @@ -1134,7 +1134,10 @@ def _get_lr(self, optimizer): if isinstance(optimizer, paddle.optimizer.Optimizer): return optimizer.get_lr() elif isinstance(optimizer, paddle.fluid.optimizer.Optimizer): - return optimizer._learning_rate.get_lr() + if isinstance(optimizer._learning_rate, float): + return optimizer._learning_rate + else: + return optimizer._learning_rate() else: raise TypeError( "'optimizer' must be object of class `paddle.optimizer.Optimizer`" \ diff --git a/python/paddle/fluid/tests/unittests/auto_parallel/CMakeLists.txt b/python/paddle/fluid/tests/unittests/auto_parallel/CMakeLists.txt index d41bbcafc9fc4..bbccf452742a3 100644 --- a/python/paddle/fluid/tests/unittests/auto_parallel/CMakeLists.txt +++ b/python/paddle/fluid/tests/unittests/auto_parallel/CMakeLists.txt @@ -93,7 +93,7 @@ if(WITH_DISTRIBUTE AND WITH_GPU) py_test_modules(test_dist_matmul MODULES test_dist_matmul) py_test_modules(test_process_mesh MODULES test_process_mesh) py_test_modules(test_interface MODULES test_interface) - py_test_modules(test_stategy MODULES test_strategy) + py_test_modules(test_strategy MODULES test_strategy) py_test_modules(test_pass_quantization MODULES test_pass_quantization) endif() diff --git a/python/paddle/fluid/tests/unittests/auto_parallel/engine_api.py b/python/paddle/fluid/tests/unittests/auto_parallel/engine_api.py index 4621277a454b7..94677645ad4e8 100644 --- a/python/paddle/fluid/tests/unittests/auto_parallel/engine_api.py +++ b/python/paddle/fluid/tests/unittests/auto_parallel/engine_api.py @@ -127,7 +127,7 @@ def train(fetch): engine.fit(train_data=train_dataset, epochs=2, batch_size=batch_size, - valid_data=eval_dataset) + valid_data=eval_dataset1) # eval eval_dataset2 = MyDataset(batch_size)