From dcbe0d656719415c687bcea3be457e1637659b6f Mon Sep 17 00:00:00 2001 From: Luo Cheng Date: Tue, 25 Feb 2025 10:48:42 +0100 Subject: [PATCH] serialize attributes --- .../transformations/cpu_opset/x64/op/qkv_proj.cpp | 14 ++++++++++++++ .../transformations/cpu_opset/x64/op/qkv_proj.hpp | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.cpp b/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.cpp index 84cee52e9808b8..08763eb8507a33 100644 --- a/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.cpp +++ b/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.cpp @@ -37,4 +37,18 @@ std::shared_ptr QKVProjectionNode::clone_with_new_inputs(const ov::OutputV check_new_args_count(this, new_args); return std::make_shared(new_args, m_config); } + +bool QKVProjectionNode::visit_attributes(ov::AttributeVisitor& visitor) { + INTERNAL_OP_SCOPE(QKVProjectionNode_visit_attributes); + visitor.start_structure("config"); + visitor.on_attribute("quantized", m_config.quantized); + visitor.on_attribute("hidden_size", m_config.hidden_size); + visitor.on_attribute("proj_size0", m_config.proj_size0); + visitor.on_attribute("proj_size1", m_config.proj_size1); + visitor.on_attribute("proj_size2", m_config.proj_size2); + visitor.on_attribute("weights_combined", m_config.weights_combined); + visitor.finish_structure(); + return true; +} + } // namespace ov::intel_cpu diff --git a/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.hpp b/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.hpp index 9e5f2e3646d782..54c009765decf1 100644 --- a/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.hpp +++ b/src/plugins/intel_cpu/src/transformations/cpu_opset/x64/op/qkv_proj.hpp @@ -28,6 +28,8 @@ class QKVProjectionNode : public ov::op::Op { validate_and_infer_types(); } + bool visit_attributes(ov::AttributeVisitor& visitor) override; + void validate_and_infer_types() override; std::shared_ptr clone_with_new_inputs(const ov::OutputVector& new_args) const override;