in optimum/intel/openvino/modeling_visual_language.py [0:0]
def __init__(self, model: ov.Model, parent_model: OVBaseModel) -> None:
super().__init__(model, parent_model, model_name=self._model_name)
self.output_dtypes = {key.get_any_name(): key.get_element_type().get_type_name() for key in self.model.outputs}
self.output_names = {key.get_any_name(): idx for idx, key in enumerate(self.model.outputs)}
self.input_names = {key.get_any_name(): idx for idx, key in enumerate(self.model.inputs)}
self.hidden_states_output_names = []
if len(self.model.outputs) > 2:
self.hidden_states_output_names = [
key.get_any_name() for key in self.model.outputs[2:] if "hidden_states" in key.get_any_name()
]
self.input_names = {key.get_any_name(): idx for idx, key in enumerate(self.model.inputs)}
if model_has_input_output_name(self.model, "images"):
self._main_input = "images"
elif model_has_input_output_name(self.model, "hidden_states"):
self._main_input = "hidden_states"
else:
self._main_input = "pixel_values"