Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove the AdamOptimizer、SGDOptimizer、MomentumOptimizer、ModelAverage、LookaheadOptimizer、FtrlOptimizer、DecayedAdagradOptimizer、DpsgdOptimizer in fluid and relocate the ExponentialMovingAverage、PipelineOptimizer、GradientMergeOptimizer and change optimizer base for LarsMomentumOptimizer and RecomputeOptimizer #55970

Merged
merged 80 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
f28f6d4
change the optimizer base for SGDOptimizer
longranger2 Apr 16, 2023
0a0aa08
change the optimizer base for SGDOptimizer
longranger2 Apr 16, 2023
819cbbc
Merge branch 'PaddlePaddle:develop' into SGDOptimizer
longranger2 Apr 17, 2023
2cb38f2
replace the SGDOptimizer with SGD
longranger2 Apr 17, 2023
1b0203e
fix bug of sgd
longranger2 Apr 24, 2023
facca0a
change the optimizer base for MomentumOptimizer
longranger2 Apr 25, 2023
93c3e77
fix the remaining tests
longranger2 May 28, 2023
fa088c8
remove the Momentum in fluid/optimizer.py
longranger2 May 28, 2023
3d38988
Merge branch 'develop' into momentum
longranger2 May 29, 2023
70b012d
Merge branch 'develop' of https://github.com/PaddlePaddle/Paddle into…
longranger2 Jun 3, 2023
863e083
fix bug
longranger2 Jun 9, 2023
6df5296
fix bug
longranger2 Jun 17, 2023
1619183
fix bug
longranger2 Jun 19, 2023
1dd7fa2
fix bug
longranger2 Jun 25, 2023
19937a0
Merge branch 'PaddlePaddle:develop' into momentum
longranger2 Jun 27, 2023
f22a27a
Update test_resnet_cinn.py
longranger2 Jun 27, 2023
a501d76
Update test_resnet_prim_cinn.py
longranger2 Jun 27, 2023
74e7cc5
fix conflict
longranger2 Jun 29, 2023
f4e029f
fix bug
longranger2 Jun 29, 2023
9dbf5f1
fix bug
longranger2 Jun 29, 2023
2a92792
fix bug
longranger2 Jul 2, 2023
e494477
Merge branch 'develop' of https://github.com/PaddlePaddle/Paddle into…
longranger2 Jul 2, 2023
162ca01
Merge branch 'PaddlePaddle:develop' into momentum
longranger2 Jul 8, 2023
1825663
remove the ModelAverage in fluid
longranger2 Jul 8, 2023
6a4d5e6
remove the LookaheadOptimizer in fluid
longranger2 Jul 9, 2023
86a02ac
fix bug
longranger2 Jul 9, 2023
48c5860
remove AdamOptimizer in fluid
longranger2 Jul 10, 2023
44dd077
Update test_image_classification_fp16.py
longranger2 Jul 10, 2023
fd47dff
fix bug
longranger2 Jul 10, 2023
6e2c2a8
relocate the ExponentialMovingAverage in fluid
longranger2 Jul 10, 2023
0455612
Merge branch 'develop' into ModelAverage
longranger2 Jul 11, 2023
18f7778
restore the static api
longranger2 Jul 11, 2023
89cf168
remove the FtrlOptimizer in fluid
longranger2 Jul 11, 2023
a38b22d
remove the DecayedAdagradOptimizer in fluid
longranger2 Jul 11, 2023
bc73c3f
remove the DpsgdOptimizer in fluid
longranger2 Jul 11, 2023
c3ef891
fix bug
longranger2 Jul 11, 2023
53a7d5e
Merge branch 'develop' of https://github.com/PaddlePaddle/Paddle into…
longranger2 Jul 11, 2023
067b2bf
fix codestyle
longranger2 Jul 11, 2023
c658d2d
fix bug
longranger2 Jul 12, 2023
c6b5cea
fix bug
longranger2 Jul 13, 2023
b50701d
relocate the PipelineOptimizer
longranger2 Jul 13, 2023
2d0997e
relocate the GradientMergeOptimizer
longranger2 Jul 13, 2023
ec838bc
fix bug
longranger2 Jul 14, 2023
983d45e
fix bug
longranger2 Jul 19, 2023
833b266
Merge branch 'develop' of https://github.com/PaddlePaddle/Paddle into…
longranger2 Jul 19, 2023
e58912e
fix bug
longranger2 Jul 26, 2023
d136762
Merge branch 'develop' into ModelAverage
longranger2 Jul 26, 2023
90113e2
fix doc
longranger2 Jul 26, 2023
d7a1f89
Merge branch 'ModelAverage' of https://github.com/longranger2/Paddle …
longranger2 Jul 26, 2023
812fe97
Update __init__.py
longranger2 Jul 27, 2023
6149593
Merge branch 'PaddlePaddle:develop' into SGDOptimizer
longranger2 Jul 28, 2023
eb551ab
Update test_fleet_qat_meta_optimizer.py
longranger2 Jul 28, 2023
720f488
Merge branch 'develop' into ModelAverage
longranger2 Aug 1, 2023
7643119
change optimizer base for LarsMomentumOptimizer
longranger2 Aug 1, 2023
40c0ca8
fix bug
longranger2 Aug 1, 2023
f5588a1
fix conflict
longranger2 Aug 1, 2023
ac71d6e
fix conflict
longranger2 Aug 1, 2023
238a3df
fix code-style
longranger2 Aug 1, 2023
b419b2d
fix sample codes
longranger2 Aug 2, 2023
3da4a36
fix bug
longranger2 Aug 2, 2023
6d127b8
Merge branch 'PaddlePaddle:develop' into ModelAverage
longranger2 Aug 2, 2023
73d1a1b
Merge branch 'develop' into momentum
longranger2 Aug 2, 2023
b752872
fix bug
longranger2 Aug 2, 2023
e464154
fix cinn bug
longranger2 Aug 3, 2023
af52afe
fix bug
longranger2 Aug 3, 2023
97a8471
fix bug
longranger2 Aug 3, 2023
b89ea1e
Update qat_optimizer.py
longranger2 Aug 3, 2023
c678943
Update __init__.py
longranger2 Aug 3, 2023
77d2b49
fix bug
longranger2 Aug 3, 2023
3973f85
Merge branch 'Adam' of https://github.com/longranger2/Paddle into ada…
longranger2 Aug 3, 2023
42556d8
fix conflict
longranger2 Aug 3, 2023
8fc30a1
fix conflict
longranger2 Aug 3, 2023
25cb949
change optimizer base for RecomputeOptimizer
longranger2 Aug 3, 2023
9cc083a
Merge branch 'LarsMomentum' of https://github.com/longranger2/Paddle …
longranger2 Aug 3, 2023
a3dd808
fix conflict
longranger2 Aug 4, 2023
82a9da3
fix bug
longranger2 Aug 4, 2023
3648ec7
fix bug
longranger2 Aug 4, 2023
94a4c86
Merge branch 'ModelAverage' of https://github.com/longranger2/Paddle …
longranger2 Aug 5, 2023
2d9be2a
Update test_imperative_optimizer_v2.py
longranger2 Aug 5, 2023
fee3658
Merge branch 'develop' into adam_sgd_momentum
longranger2 Aug 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions python/paddle/amp/grad_scaler.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ class AmpScaler:

data = np.random.uniform(-1, 1, [10, 3, 32, 32]).astype('float32')
model = paddle.nn.Conv2D(3, 2, 3)
optimizer = paddle.optimizer.SGDOptimizer(
learning_rate=0.01, parameter_list=model.parameters())
optimizer = paddle.optimizer.SGD(
learning_rate=0.01, parameters=model.parameters())
scaler = paddle.amp.AmpScaler(init_loss_scaling=1024)
data = paddle.to_tensor(data)
with paddle.amp.amp_guard():
Expand Down Expand Up @@ -168,8 +168,8 @@ def scale(self, var):

data = np.random.uniform(-1, 1, [10, 3, 32, 32]).astype('float32')
model = paddle.nn.Conv2D(3, 2, 3)
optimizer = paddle.optimizer.SGDOptimizer(
learning_rate=0.01, parameter_list=model.parameters())
optimizer = paddle.optimizer.SGD(
learning_rate=0.01, parameters=model.parameters())
scaler = paddle.amp.AmpScaler(init_loss_scaling=1024)
data = paddle.to_tensor(data)
with paddle.amp.amp_guard():
Expand Down Expand Up @@ -221,8 +221,8 @@ def minimize(self, optimizer, *args, **kwargs):

data = np.random.uniform(-1, 1, [10, 3, 32, 32]).astype('float32')
model = paddle.nn.Conv2D(3, 2, 3)
optimizer = paddle.optimizer.SGDOptimizer(
learning_rate=0.01, parameter_list=model.parameters())
optimizer = paddle.optimizer.SGD(
learning_rate=0.01, parameters=model.parameters())
scaler = paddle.amp.AmpScaler(init_loss_scaling=1024)
data = paddle.to_tensor(data)
with paddle.amp.amp_guard():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@
import paddle
from paddle.common_ops_import import LayerHelper
from paddle.fluid.dygraph import base as imperative_base
from paddle.fluid.optimizer import Momentum, Optimizer
from paddle.fluid.optimizer import Optimizer
from paddle.framework import core, in_dynamic_mode
from paddle.nn.clip import ClipGradByNorm, append_gradient_clip_ops
from paddle.optimizer import Momentum
from paddle.regularizer import L1Decay, L2Decay
from paddle.static import create_global_var

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,6 @@ def fp16_compression(param_and_grads):

def apply_optimize(self, loss, startup_program, params_grads):
new_params_grads = self.fp16_compression(params_grads)
return self.inner_opt.apply_optimize(
return self.inner_opt._apply_optimize(
loss, startup_program=startup_program, params_grads=new_params_grads
)
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and

from paddle.fluid.optimizer import GradientMergeOptimizer as GM
from paddle.incubate.optimizer import GradientMergeOptimizer as GM

from .meta_optimizer_base import MetaOptimizerBase

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import logging

import paddle
from paddle.fluid.optimizer import AdamOptimizer
from paddle.optimizer import Adam

from .meta_optimizer_base import MetaOptimizerBase

Expand All @@ -38,7 +38,7 @@ def _set_basic_info(
)

opt = self.inner_opt
if not isinstance(opt, AdamOptimizer):
if not isinstance(opt, Adam):
return

configs = self.user_defined_strategy.lamb_configs
Expand Down Expand Up @@ -72,7 +72,7 @@ def _can_apply(self):
return False

if self.user_defined_strategy.lamb:
if not isinstance(self.inner_opt, AdamOptimizer):
if not isinstance(self.inner_opt, Adam):
logging.warn(
"lamb need the inner optimizer to be AdamOptimizer optimizer but got {}.".format(
self.inner_opt.type
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@

import logging

from paddle.fluid.optimizer import LarsMomentumOptimizer, Momentum
from paddle.incubate.optimizer import LarsMomentumOptimizer
from paddle.optimizer import Momentum

from .meta_optimizer_base import MetaOptimizerBase

Expand Down Expand Up @@ -98,7 +99,7 @@ def apply_gradients(self, params_grads):
return self.lars_opt.apply_gradients(params_grads=params_grads)

def apply_optimize(self, loss, startup_program, params_grads):
return self.lars_opt.apply_optimize(
return self.lars_opt._apply_optimize(
loss, startup_program=startup_program, params_grads=params_grads
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@ def _can_apply(self):
self.inner_opt,
(
paddle.optimizer.momentum.Momentum,
paddle.fluid.optimizer.Momentum,
paddle.optimizer.sgd.SGD,
paddle.fluid.optimizer.SGD,
),
)

Expand Down Expand Up @@ -235,9 +233,7 @@ def _can_apply(self):
self.inner_opt,
(
paddle.optimizer.Momentum,
paddle.fluid.optimizer.Momentum,
paddle.optimizer.sgd.SGD,
paddle.fluid.optimizer.SGD,
),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from paddle.fluid.optimizer import Optimizer
from paddle.optimizer import Optimizer

__all__ = []

Expand Down Expand Up @@ -81,7 +81,7 @@ def backward(
)

def apply_optimize(self, loss, startup_program, params_grads):
return self.inner_opt.apply_optimize(
return self.inner_opt._apply_optimize(
loss, startup_program=startup_program, params_grads=params_grads
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import subprocess

import paddle
from paddle import fluid
from paddle.framework import core

from ..base.private_helper_function import wait_server_ready
Expand Down Expand Up @@ -293,7 +292,7 @@ def get_sys_free_mem():
% (platform.system())
)

if not isinstance(self.inner_opt, fluid.optimizer.SGDOptimizer):
if not isinstance(self.inner_opt, paddle.optimizer.SGD):
return False

free = get_sys_free_mem()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and

import paddle
from paddle.fluid.optimizer import PipelineOptimizer as PO
from paddle.incubate.optimizer import PipelineOptimizer as PO

from .common import (
OP_ROLE_KEY,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ def get_sys_free_mem():
% (platform.system())
)

if not isinstance(self.inner_opt, paddle.fluid.optimizer.SGDOptimizer):
if not isinstance(self.inner_opt, paddle.optimizer.SGD):
return False

free = get_sys_free_mem()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ def minimize_impl(
):
optimize_ops, params_grads = self.inner_opt.minimize(
loss,
startup_program=startup_program,
parameter_list=parameter_list,
no_grad_set=no_grad_set,
startup_program,
parameter_list,
no_grad_set,
)
device = paddle.device.get_device()
place = paddle.set_device(device)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and

from paddle.fluid.optimizer import RecomputeOptimizer as RO
from paddle.incubate.optimizer import RecomputeOptimizer as RO

from .meta_optimizer_base import MetaOptimizerBase

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import os

from paddle.fluid import core
from paddle.fluid.optimizer import PipelineOptimizer
from paddle.incubate.optimizer import PipelineOptimizer
from paddle.static import (
create_global_var,
default_startup_program,
Expand Down
2 changes: 1 addition & 1 deletion python/paddle/distributed/passes/auto_parallel_fp16.py
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,7 @@ def _apply_single_impl(self, main_program, startup_program, context):

if self.target_dtype == "fp16":
if isinstance(
base_opt, (paddle.static.Adam, paddle.optimizer.AdamW)
base_opt, (paddle.optimizer.Adam, paddle.optimizer.AdamW)
):
with main_program._optimized_guard([]):
# found_inf = paddle.tensor.creation._memcpy(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ class DistributeTranspiler:
cost =paddle.nn.functional.square_error_cost(input=y_predict, label=y)
avg_loss = paddle.mean(cost)

sgd_optimizer = fluid.optimizer.SGD(learning_rate=0.001)
sgd_optimizer = paddle.optimizer.SGD(learning_rate=0.001)
sgd_optimizer.minimize(avg_loss)

# for pserver mode
Expand Down
Loading