@@ -1113,7 +1113,6 @@ class ModelAverage(Optimizer):
1113
1113
1114
1114
Args:
1115
1115
average_window_rate: The rate of average window.
1116
- params_grads: A list of parameter-grad variable pairs.
1117
1116
min_average_window: The minimum size of average window.
1118
1117
max_average_window: The maximum size of average window.
1119
1118
@@ -1122,8 +1121,8 @@ class ModelAverage(Optimizer):
1122
1121
.. code-block:: python
1123
1122
1124
1123
optimizer = fluid.optimizer.Momentum()
1125
- _, params_grads = optimizer.minimize(cost)
1126
- model_average = fluid.optimizer.ModelAverage(params_grads, 0.15,
1124
+ optimizer.minimize(cost)
1125
+ model_average = fluid.optimizer.ModelAverage(0.15,
1127
1126
min_average_window=10000,
1128
1127
max_average_window=20000)
1129
1128
for pass_id in range(args.pass_num):
@@ -1137,7 +1136,6 @@ class ModelAverage(Optimizer):
1137
1136
1138
1137
def __init__ (self ,
1139
1138
average_window_rate ,
1140
- params_grads = None ,
1141
1139
min_average_window = 10000 ,
1142
1140
max_average_window = 10000 ,
1143
1141
** kwargs ):
@@ -1146,21 +1144,16 @@ def __init__(self,
1146
1144
self .min_average_window = min_average_window
1147
1145
self .max_average_window = max_average_window
1148
1146
1149
- self .params_grads = [] if params_grads is None else params_grads
1150
- params = {}
1151
- for param , grad in self .params_grads :
1152
- if param .do_model_average != False :
1153
- params [param .name ] = (param , grad )
1147
+ self .params_grads = []
1154
1148
for param in framework .default_main_program ().global_block (
1155
1149
).all_parameters ():
1156
- if param .name not in params and param . do_model_average != False :
1150
+ if param .do_model_average != False :
1157
1151
grad = param .block .create_var (
1158
1152
name = unique_name .generate ("." .join ([param .name , 'tmp' ])),
1159
1153
dtype = param .dtype ,
1160
1154
persistable = False ,
1161
1155
stop_gradient = True )
1162
- params [param .name ] = (param , grad )
1163
- self .params_grads = params .values ()
1156
+ self .params_grads .append ((param , grad ))
1164
1157
1165
1158
for param , grad in self .params_grads :
1166
1159
self ._append_average_accumulate_op (param )
0 commit comments