"Input(Tensor or LoDTensor): The parameter to be accumulated.");
AddInput("sum_3","");
AddInput("in_sum_1",
AddInput("num_accumulates","");
"Input(Tensor or LoDTensor): A tensor used to store the parameter "
AddInput("old_num_accumulates","");
"sums with the same shape as input(param).");
AddInput("num_updates","");
AddInput("in_sum_2",
"Input(Tensor or LoDTensor): A auxiliary tensor to help "
AddOutput("sum_1","");
"accumulating sums of parameter values with the same shape as "
AddOutput("sum_2","");
"input(param). It is used to avoid loss of precision due to too "
AddOutput("sum_3","");
"many sums.");
AddOutput("num_accumulates","");
AddInput("in_sum_3",
AddOutput("old_num_accumulates","");
"Input(Tensor or LoDTensor): A auxiliary tensor to help "
AddOutput("num_updates","");
"accumulating sums of parameter values with the same shape as "
"input(param).");
AddAttr<float>("","average_window");
AddInput("in_num_accumulates",
AddAttr<float>("","max_average_window");
"Input(Tensor): The accumulating times of current window with "
AddAttr<float>("","min_average_window");
"shape [1].");
AddInput("in_old_num_accumulates",
"Input(Tensor): The accumulating times of previous window with "
"shape [1].");
AddInput("in_num_updates",
"Input(Tensor): The total number of batches used by trainning "
"before this batch with shape [1].");
AddOutput("out_sum_1",
"Output(Tensor or LoDTensor): A tensor used to store the "
"parameter sums with the same shape as input(param).");
AddOutput("out_sum_2",
"Output(Tensor or LoDTensor): A auxiliary tensor to help "
"accumulating sums of parameter values with the same shape as "
"input(param). It is used to avoid loss of precision due to too "
"many sums.");
AddOutput("out_sum_3",
"Output(Tensor or LoDTensor): A auxiliary tensor to help "
"accumulating sums of parameter values with the same shape as "
"input(param).");
AddOutput("out_num_accumulates",
"Output(Tensor): The accumulating times of current window with "
"shape [1].");
AddOutput("out_old_num_accumulates",
"Output(Tensor): The accumulating times of previous window with "
"shape [1].");
AddOutput("out_num_updates",
"Output(Tensor): The total number of batches used by trainning "
"before this batch with shape [1].");
AddAttr<float>("average_window",
"The rate of average window size relative to num_updates.");
AddAttr<int64_t>("max_average_window","Maximum size of average window.");
AddAttr<int64_t>("min_average_window","Minimu size of average window.");
AddComment(R"DOC(
AddComment(R"DOC(
AverageAccumulates Operator.
AverageAccumulates Operator.
Accumulate the sum of parameter whtin sliding window. The size of sliding window is determined by 'average_window', 'max_average_window' and 'min_average_window'.