@@ -641,6 +641,23 @@ std::shared_ptr<ov::ICompiledModel> Plugin::compile_model(const std::shared_ptr<
641641 _logger.warning (" Model received in config will be ignored as it was already provided by parameter." );
642642 }
643643
644+ // There is an on-going migration from "USE_BASE_MODEL_SERIALIZER" to "MODEL_SERIALIZER_VERSION". Until done, make
645+ // sure only the option supported by the compiler is registered in the config.
646+ bool useBaseModelSerializer = true ;
647+ const std::string useBaseModelSerializerKey = ov::intel_npu::use_base_model_serializer.name ();
648+ const std::string modelSerializerVersionKey = ov::intel_npu::model_serializer_version.name ();
649+ if (localProperties.count (useBaseModelSerializerKey)) {
650+ useBaseModelSerializer = localProperties.at (useBaseModelSerializerKey).as <bool >();
651+ localProperties.erase (useBaseModelSerializerKey);
652+ localProperties.erase (modelSerializerVersionKey);
653+ } else if (localProperties.count (modelSerializerVersionKey)) {
654+ const auto modelSerializerVersion =
655+ localProperties.at (modelSerializerVersionKey).as <ov::intel_npu::ModelSerializerVersion>();
656+ useBaseModelSerializer = (modelSerializerVersion == ov::intel_npu::ModelSerializerVersion::AUTO ||
657+ modelSerializerVersion == ov::intel_npu::ModelSerializerVersion::ALL_WEIGHTS_COPY);
658+ localProperties.erase (modelSerializerVersionKey);
659+ }
660+
644661 const std::map<std::string, std::string> localPropertiesMap = any_copy (localProperties);
645662 update_log_level (localPropertiesMap);
646663
@@ -748,16 +765,11 @@ std::shared_ptr<ov::ICompiledModel> Plugin::compile_model(const std::shared_ptr<
748765 localConfig.update ({{ov::intel_npu::weightless_blob.name (), cacheModeOptimizeSize ? " YES" : " NO" }});
749766 }
750767
751- // There is an on-going migration from "USE_BASE_MODEL_SERIALIZER" to "MODEL_SERIALIZER_VERSION". Until done, make
752- // sure both options have the same value if only one is defined.
753- if (localConfig.has <MODEL_SERIALIZER_VERSION>() && !localConfig.has <USE_BASE_MODEL_SERIALIZER>()) {
754- const bool useBaseModelSerializer =
755- (localConfig.get <MODEL_SERIALIZER_VERSION>() == ov::intel_npu::ModelSerializerVersion::AUTO ||
756- localConfig.get <MODEL_SERIALIZER_VERSION>() == ov::intel_npu::ModelSerializerVersion::ALL_WEIGHTS_COPY);
768+ if (localConfig.isAvailable (ov::intel_npu::use_base_model_serializer.name ())) {
757769 localConfig.update ({{ov::intel_npu::use_base_model_serializer.name (), useBaseModelSerializer ? " YES" : " NO" }});
758- } else if (! localConfig.has <MODEL_SERIALIZER_VERSION>() && localConfig. has <USE_BASE_MODEL_SERIALIZER>( )) {
770+ } else if (localConfig.isAvailable (ov::intel_npu::model_serializer_version. name () )) {
759771 localConfig.update ({{ov::intel_npu::model_serializer_version.name (),
760- localConfig. get <USE_BASE_MODEL_SERIALIZER>() ? " ALL_WEIGHTS_COPY" : " NO_WEIGHTS_COPY" }});
772+ useBaseModelSerializer ? " ALL_WEIGHTS_COPY" : " NO_WEIGHTS_COPY" }});
761773 }
762774
763775 std::shared_ptr<intel_npu::IGraph> graph;
0 commit comments