From bfa1210bef137df5cdc8e2de0d5bae92d635e2e0 Mon Sep 17 00:00:00 2001 From: hitywt Date: Tue, 5 Dec 2023 17:07:42 +0800 Subject: [PATCH] fix new ir translator c_embedding failure --- paddle/fluid/ir_adaptor/translator/op_translator.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/paddle/fluid/ir_adaptor/translator/op_translator.cc b/paddle/fluid/ir_adaptor/translator/op_translator.cc index 8db987eb20fd70..d29781af492de1 100644 --- a/paddle/fluid/ir_adaptor/translator/op_translator.cc +++ b/paddle/fluid/ir_adaptor/translator/op_translator.cc @@ -2684,6 +2684,16 @@ struct SliceOpTranscriber : public OpTranscriber { } }; +struct CEmbeddingOpTranscriber : public OpTranscriber { + void HandleNonexistentAttribute(pir::IrContext* ctx, + pir::AttributeMap* attribute_map, + const OpAttributeInfo& info) override { + if (info.name == "vocab_size") { + (*attribute_map)[info.name] = pir::Int64Attribute::get(ctx, -1); + } + } +}; + OpTranslator::OpTranslator() { pir::IrContext* ctx = pir::IrContext::Instance(); ctx->GetOrRegisterDialect(); @@ -2750,6 +2760,7 @@ OpTranslator::OpTranslator() { special_handlers["elementwise_min_grad"] = ElementwiseGradTranscriber(); special_handlers["elementwise_mod_grad"] = ElementwiseGradTranscriber(); special_handlers["elementwise_floordiv_grad"] = ElementwiseGradTranscriber(); + special_handlers["c_embedding"] = CEmbeddingOpTranscriber(); } } // namespace translator