diff --git a/paddle/fluid/ir_adaptor/translator/op_compat_gen.py b/paddle/fluid/ir_adaptor/translator/op_compat_gen.py index 596bf8534bfe67..ea844c659554d6 100644 --- a/paddle/fluid/ir_adaptor/translator/op_compat_gen.py +++ b/paddle/fluid/ir_adaptor/translator/op_compat_gen.py @@ -127,6 +127,16 @@ def insert_new_mutable_attributes( ) # special mapping list + op_name_mappings["deformable_conv_v1"] = "deformable_conv" + op_name_mappings["deformable_conv_v1_grad"] = "deformable_conv_grad" + op_arg_name_mappings["deformable_conv_v1"] = { + "x": "Input", + "offset": "Offset", + "filter": "Filter", + "mask": "Mask", + "out": "Output", + } + op_arg_name_mappings["set_value_grad"]["values_grad"] = "ValueTensor@GRAD" op_arg_name_mappings["fetch"] = {"x": "X"} op_arg_name_mappings["elementwise_add_grad_grad"] = { diff --git a/paddle/fluid/ir_adaptor/translator/op_translator.cc b/paddle/fluid/ir_adaptor/translator/op_translator.cc index c64004c7191dd9..7a7e8212754e24 100644 --- a/paddle/fluid/ir_adaptor/translator/op_translator.cc +++ b/paddle/fluid/ir_adaptor/translator/op_translator.cc @@ -535,8 +535,9 @@ std::vector OpTranscriber::GenerateOperationInput( info.name, op_desc.Type()); IR_ENFORCE(param_map->count(legacy_input_vars[0]), - "Input [%s] of op [%s] not found in param map", + "Input [%s: %s] of op [%s] not found in param map", info.name, + legacy_input_vars[0], op_desc.Type()); auto defining_info = (*param_map)[legacy_input_vars[0]]; op_inputs.push_back(defining_info.value); @@ -2989,6 +2990,14 @@ struct LegacyMatmulOpTranscriber : public OpTranscriber { param_map->PushValue(output_vars[0], VariableDefiningInfo(scale_op.out(), false, -1)); } + + void HandleNonexistentAttribute(pir::IrContext* ctx, + pir::AttributeMap* attribute_map, + const OpAttributeInfo& info) override { + if (info.name == "transpose_x" || info.name == "transpose_y") { + (*attribute_map)[info.name] = pir::BoolAttribute::get(ctx, false); + } + } }; struct CEmbeddingOpTranscriber : public OpTranscriber { @@ -3042,6 +3051,7 @@ OpTranslator::OpTranslator() { special_handlers["sum"] = AddNOpTranscriber(); special_handlers["tril_triu"] = TrilAndTriuOpTranscriber(); special_handlers["tril_triu_grad"] = TrilAndTriuGradOpTranscriber(); + special_handlers["matmul"] = LegacyMatmulOpTranscriber(); special_handlers["matrix_rank"] = MatrixRankOpTranscriber(); special_handlers["mul"] = MulOpTranscriber(); special_handlers["mul_grad"] = MulGradOpTranscriber();