code: def _compile_model(
      self,
      model_name: str,
      model_weights: str,
      network_parameters: ModelParams,
  ) -> CompiledModel:
      core = Core()
      model = core.read_model(model=model_name, weights=model_weights)
  
      dynamic_shape = self._get_dynamic_shape(model, network_parameters)
  
      if dynamic_shape is not None:
          model.reshape(dynamic_shape)
  
      return core.compile_model(model=model, device_name="CPU")
  
file_path: nebuly/optimization/nebullvm/nebullvm/operations/optimizations/compilers/openvino.py
imports: import subprocess
  from pathlib import Path
  from typing import Tuple, List, Union
  import numpy
  from nebullvm.config import QUANTIZATION_DATA_NUM
  from nebullvm.core.models import QuantizationType, ModelParams
  from nebullvm.operations.optimizations.compilers.base import Compiler
  from nebullvm.operations.optimizations.compilers.quantizations.openvino import quantize_openvino
  from nebullvm.operations.optimizations.compilers.quantizations.utils import check_quantization
  from nebullvm.optional_modules.openvino import Core, CompiledModel
  from nebullvm.tools.data import DataManager
  from nebullvm.tools.onnx import get_input_names
  from nebullvm.tools.transformations import MultiStageTransformation
label_desc: Use image node_id 3 for calling the OpenVINOCompiler obj's underlying member method code with example usage: obj._compile_model(model_name, model_weights, network_parameters) and returns: core