diff --git a/paddle/fluid/operators/rnn_op.cc b/paddle/fluid/operators/rnn_op.cc index 4a97afdfc4a069e5d3c42a19f1c7c64b832f8604..aba720a99ba27329bdce34ac1f3c8916087d8792 100644 --- a/paddle/fluid/operators/rnn_op.cc +++ b/paddle/fluid/operators/rnn_op.cc @@ -103,6 +103,9 @@ class RNNOpMaker : public framework::OpProtoAndCheckerMaker { "mode", "(string) rnn types, including: LSTM, GRU, RNN_RELU, RNN_TANH."); AddAttr("seed", "seed to used if fix_seed is True").SetDefault(0); + AddAttr("is_test", "True if in test phase.") + .SetDefault(false) + .AsExtra(); AddComment(R"DOC( )DOC"); } diff --git a/paddle/phi/api/yaml/op_compat.yaml b/paddle/phi/api/yaml/op_compat.yaml index 613f2d38aee01617ba4ba79054886040d311a01f..bbaa942520107ed16947b30ea2cac8e603ca7cd9 100644 --- a/paddle/phi/api/yaml/op_compat.yaml +++ b/paddle/phi/api/yaml/op_compat.yaml @@ -1,3 +1,8 @@ +# - op : rnn +# backward : rnn_grad +# extra : +# attrs : [bool is_test = false] + - op : abs backward : abs_grad extra : @@ -609,11 +614,6 @@ extra : attrs : [bool use_mkldnn = false, bool use_cudnn = false] -- op : rnn - backward : rnn_grad - extra : - attrs : [bool is_test = false] - - op : round backward : round_grad extra : diff --git a/python/paddle/fluid/framework.py b/python/paddle/fluid/framework.py index 08ee989355368c11aaeadc58b7f6bda133f3143e..e62cb956d9815c4083895224e4cb854e0c74ec2d 100644 --- a/python/paddle/fluid/framework.py +++ b/python/paddle/fluid/framework.py @@ -5932,6 +5932,8 @@ class Program(object): "activation_bits", "bit_length", "quantize_weight_bits", "weight_quant_scale" ] + for extra_attr_name in extra_attrs_map.keys(): + op.remove_attr(extra_attr_name) remove_attr_list = [] for name in op.attr_names(): if quant: @@ -5940,7 +5942,7 @@ class Program(object): if name.endswith("_threshold"): continue if len(extra_attrs_map) > 0: - if name in extra_attrs_map or name in common_clipped_attrs_list: + if name in common_clipped_attrs_list: op.remove_attr(name) continue find = False