最佳文档

模型

您正在查看版本,需要从源安装。如果您想要常规pip安装,请检查最新稳定版本(v1.21.2)。
Hugging Face's logo
加入Hugging Face社区

并访问增强的文档体验

以开始使用

模型

通用模型类

optimum.intel.openvino.modeling_base.OVBaseModel

< >

( model: Model config: PretrainedConfig = None device: str = 'CPU' dynamic_shapes: bool = True ov_config: typing.Union[typing.Dict[str, str], NoneType] = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None quantization_config: typing.Union[optimum.intel.openvino.configuration.OVWeightQuantizationConfig, typing.Dict, NoneType] = None **kwargs )

OVModel基类。

从预训练的

< >

( model_id: typing.Union[str, pathlib.Path] config: PretrainedConfig use_auth_token: typing.Union[bool, str, NoneType] = None token: typing.Union[bool, str, NoneType] = None revision: typing.Optional[str] = None force_download: bool = False cache_dir: str = '/root/.cache/huggingface/hub' file_name: typing.Optional[str] = None subfolder: str = '' from_onnx: bool = False local_files_only: bool = False load_in_8bit: bool = False quantization_config: typing.Union[optimum.intel.openvino.configuration.OVWeightQuantizationConfig, typing.Dict] = None **kwargs )

参数

  • model_id (strPath) — 加载模型的目录。可以是:
    • 存储在 huggingface.co 模型库中的预训练模型的 ID。
    • 包含模型权重的目录路径。
  • use_auth_token (可选[Union[bool, str]], 默认为 None) — 已废弃。请使用 token 代替。
  • token (可选[Union[bool, str]], 默认为 None) — 用作远程文件 HTTP 带证授权的令牌。如果为 True,将使用运行 huggingface-cli login 时的令牌(存储在 ~/.huggingface)。
  • 修订版 (str可选)- 要使用的特定模型版本。它可以是分支名称、标签名称或提交标识符。
  • cache_dir (Union[str, Path]可选) - 如果不使用标准缓存,则将预先训练的模型配置缓存的目录路径。
  • force_download (bool,默认为False) - 是否强制重新下载模型权重和配置文件,覆盖缓存版本(如果存在于)。
  • file_name (str, 可选) — 要加载的模型的文件名。将覆盖默认文件名,允许以不同的名称加载模型。
  • local_files_only (bool, 可选, 默认值 False) — 是否只查看本地文件(即不尝试下载模型)。
  • load_in_8bit (bool, 可选, 默认值 False) — 是否应用 8 位权重量化和。

从目录或 HF Hub 加载模型及其配置文件。

reshape

< >

( batches_size: int sequence_length: int height: int = None width: int = None )

参数

  • batch_size (int) — 批大小。
  • sequence_length (int) — 序列长度或通道数。
  • 高度 (int, 可选) — 图像高度。
  • 宽度 (int, 可选) — 图像宽度。

将给定的输入尺寸传播到模型的层中,固定模型的输入尺寸。

自然语言处理

以下类可用于以下自然语言处理任务。

OVModelForCausalLM

optimum.intel.OVModelForCausalLM

< >

( model: Model config: 预训练配置 = None device: str = 'CPU' dynamic_shapes: bool = True ov_config: typing.Union[typing.Dict[str, str], NoneType] = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None quantization_config: typing.Union[optimum.intel.openvino.configuration.OVWeightQuantizationConfig, typing.Dict, NoneType] = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO Runtime 推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含所有模型参数的模型配置类。使用配置文件初始化时,不会加载与模型相关联的权重,只加载配置。请查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法以加载模型权重。
  • device (str, 默认值为 "CPU") — 模型将被优化以针对哪个设备。生成的编译模型将包含特定于该设备的节点。
  • dynamic_shapes (bool, 默认值为 True) — 将模型的所有维度都设置为动态时,当设置为 True。如果设置为 False,则模型默认不会动态重塑。
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关的信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,禁用加载步骤中的模型编译。这在需要避免不必要的编译时很有用,例如,当模型需要静态重塑、修改设备或启用FP16转换时。

topping with OpenVINO 模型具有因果语言模型头(线性层与输入嵌入关联的权重)。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( input_ids: LongTensor attention_mask: typing.Optional[torch.LongTensor] = None past_key_values: typing.Optional[typing.Tuple[typing.Tuple[torch.FloatTensor]]] = None position_ids: typing.Optional[torch.LongTensor] = None **kwargs )

生成

< >

( inputs: typing.Optional[torch.Tensor] = None generation_config: typing.Optional[transformers.generation.configuration_utils.GenerationConfig] = None logits_processor: typing.Optional[transformers.generation.logits_process.LogitsProcessorList] = None stopping_criteria: typing.Optional[transformers.generation.stopping_criteria.StoppingCriteriaList] = None prefix_allowed_tokens_fn: typing.Union[typing.Callable[[int, torch.Tensor], typing.List[int]], NoneType] = None synced_gpus: typing.Optional[bool] = None assistant_model: typing.Optional[ForwardRef('PreTrainedModel')] = None streamer: typing.Optional[ForwardRef('BaseStreamer')] = None negative_prompt_ids: typing.Optional[torch.Tensor] = None negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None **kwargs )

OVModelForMaskedLM

类别 optimum.intel.OVModelForMaskedLM

< >

( model = None config = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO 运行时推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化不加载与模型相关的权重,仅加载配置。请检查 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device (str, 默认为 "CPU") — 优化模型所需的设备类型。生成的编译模型将包含特定于此设备的节点。
  • dynamic_shapes (bool, 默认为 True) — 当设置为 True 时,将设置模型的所有维度为动态。若要默认不对模型进行动态重塑,应将其设置为其值 False
  • ov_config (Optional[Dict], 默认为 None) — 包含模型编译相关信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤中禁用模型编译。在模型需要静态重塑、设备修改或启用 FP16 转换的情况下,这可能很有用,以避免不必要的编译。

适用于遮蔽语言建模任务的带有遮蔽LMOutput功能的OpenVINO模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( input_ids: typing.Union[torch.Tensor, numpy.ndarray] attention_mask: typing.Union[torch.Tensor, numpy.ndarray] token_type_ids: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • input_ids (torch.Tensor) — 词汇表中的输入序列标记的索引。可以通过 AutoTokenizer 获取索引。 什么是输入 ID?
  • attention_mask (torch.Tensor), 可选) — 避免在填充标记索引上进行注意力操作的掩码。掩码值选择的范围在 [0, 1]
  • token_type_ids (torch.Tensor, 可选) — 标记类型索引,用于指示输入的第一部分和第二部分。索引范围在 [0, 1]

OVModelForMaskedLM forward 方法,重写了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

使用 transformers.pipelines 进行掩码语言建模的示例

>>> from transformers import AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForMaskedLM

>>> tokenizer = AutoTokenizer.from_pretrained("roberta-base")
>>> model = OVModelForMaskedLM.from_pretrained("roberta-base", export=True)
>>> mask_token = tokenizer.mask_token
>>> pipe = pipeline("fill-mask", model=model, tokenizer=tokenizer)
>>> outputs = pipe("The goal of life is" + mask_token)

OVModelForSeq2SeqLM

optimum.intel.OVModelForSeq2SeqLM

< >

( encoder: 模型 decoder: 模型 decoder_with_past: 模型 = None config: 预训练配置 = None **kwargs )

参数

  • encoder (openvino.runtime.Model) — 与编码器关联的 OpenVINO 运行时模型。

为 OpenVINO 推理设计的具有语言模型头部的序列到序列模型。

forward

< >

( input_ids: LongTensor = None attention_mask: typing.Optional[torch.FloatTensor] = None decoder_input_ids: typing.Optional[torch.LongTensor] = None decoder_attention_mask: typing.Optional[torch.LongTensor] = None encoder_outputs: typing.Optional[typing.Tuple[typing.Tuple[torch.Tensor]]] = None past_key_values: typing.Optional[typing.Tuple[typing.Tuple[torch.Tensor]]] = None cache_position: typing.Optional[torch.LongTensor] = None **kwargs )

参数

  • input_ids (torch.LongTensor) — 输入序列的标记索引,用于词汇表,形状为 (batch_size, encoder_sequence_length)
  • attention_mask (torch.LongTensor) — 用于避免在填充token索引上执行注意力的掩码,形状为(batch_size, encoder_sequence_length)。掩码值选择在[0, 1]之间。
  • decoder_input_ids (torch.LongTensor) — 解码输入序列词汇表中的token索引,形状为(batch_size, decoder_sequence_length)
  • encoder_outputs (torch.FloatTensor) — 编码器的last_hidden_state,形状为(batch_size, encoder_sequence_length, hidden_size)
  • past_key_values (tuple(tuple(torch.FloatTensor), *optional*) — 包含用于加速解码的注意力块预计算的键和值隐藏状态。元组的长度是 config.n_layers,每个元组包含两个形状为 (batch_size, num_heads, decoder_sequence_length, embed_size_per_head) 的张量,以及两个形状为 (batch_size, num_heads, encoder_sequence_length, embed_size_per_head) 的额外张量。

OVModelForSeq2SeqLM 的前进方法覆盖了特殊方法 __call__

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

文本生成示例

>>> from transformers import AutoTokenizer
>>> from optimum.intel import OVModelForSeq2SeqLM

>>> tokenizer = AutoTokenizer.from_pretrained("echarlaix/t5-small-openvino")
>>> model = OVModelForSeq2SeqLM.from_pretrained("echarlaix/t5-small-openvino")
>>> text = "He never went out without a book under his arm, and he often came back with two."
>>> inputs = tokenizer(text, return_tensors="pt")
>>> gen_tokens = model.generate(**inputs)
>>> outputs = tokenizer.batch_decode(gen_tokens)

使用 transformers.pipeline 的示例

>>> from transformers import AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForSeq2SeqLM

>>> tokenizer = AutoTokenizer.from_pretrained("echarlaix/t5-small-openvino")
>>> model = OVModelForSeq2SeqLM.from_pretrained("echarlaix/t5-small-openvino")
>>> pipe = pipeline("translation_en_to_fr", model=model, tokenizer=tokenizer)
>>> text = "He never went out without a book under his arm, and he often came back with two."
>>> outputs = pipe(text)

OVModelForQuestionAnswering

optimum.intel.OVModelForQuestionAnswering

< >

( model = None config = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO Runtime 推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig是与模型的参数相关的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只有配置。查看《code>~intel.openvino.modeling.OVBaseModel.from_pretrained 方法以加载模型权重。
  • device (str, 默认为 "CPU") — 对于哪个设备对模型进行优化的设备类型。生成的编译模型将包含特定于该设备的节点。
  • dynamic_shapes (bool, 默认为 True) — 当设置为 True 时,模型的所有维度将设置为动态。如果要将模型默认设置为不动态重塑,则应设置为 False
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关的信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤中禁用模型编译。在需要静态重塑模型、更改设备或启用 FP16 转换的情况下,这可能很有用。

具有 QuestionAnsweringModelOutput 的 OpenVINO 模型,用于提取式问答任务。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( input_ids: typing.Union[torch.Tensor, numpy.ndarray] attention_mask: typing.Union[torch.Tensor, numpy.ndarray] token_type_ids: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • input_ids (torch.Tensor) — 词汇表中的输入序列标记的索引。索引可以通过AutoTokenizer获取。 什么是输入ID?
  • attention_mask (torch.Tensor), 可选) — 避免在填充标记索引上执行注意力的掩码。掩码值选择在 [0, 1]:
  • token_type_ids (torch.Tensor, 可选) — 段落标记索引,用于标记输入的第一段和第二段。索引选择在 [0, 1] 范围内:

OVModelForQuestionAnswering 的 forward 方法,覆盖了特殊方法 __call__

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

使用 transformers.pipeline 的问答示例

>>> from transformers import AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForQuestionAnswering

>>> tokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased-distilled-squad")
>>> model = OVModelForQuestionAnswering.from_pretrained("distilbert-base-cased-distilled-squad", export=True)
>>> pipe = pipeline("question-answering", model=model, tokenizer=tokenizer)
>>> question, text = "Who was Jim Henson?", "Jim Henson was a nice puppet"
>>> outputs = pipe(question, text)

OVModelForSequenceClassification

optimum.intel.OVModelForSequenceClassification

< >

( model = None config = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是执行 OpenVINO 运行时推理的主类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。用配置文件初始化不会加载模型的权重,只会加载配置。查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device (str, 默认为 "CPU") — 为模型优化所需设备的类型。生成的编译模型将包含特定于该设备的节点。
  • dynamic_shapes (bool,默认为True) — 当设置为True时,所有模型的维度都将设置为动态。为了使模型默认不进行动态调整,应设置为False
  • ov_config (Optional[Dict],默认为None) — 包含有关模型编译信息的字典。
  • compile (bool,默认为True) — 当设置为False时,在加载步骤中将禁用模型编译。在需要将模型进行静态调整、更改设备或启用FP16转换的情况下,这可能很有用。

适用于序列分类任务的OpenVINO模型,具有SequenceClassifierOutput。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

( input_ids: typing.Union[torch.Tensor, numpy.ndarray] attention_mask: typing.Union[torch.Tensor, numpy.ndarray] token_type_ids: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • token_type_ids (torch.Tensor, 可选) — 段落标记索引,用于指示输入的第一部分和第二部分。索引选择在 [0, 1]:

OVModelForSequenceClassification 的 forward 方法,重载了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

使用 transformers.pipeline 的序列分类示例

>>> from transformers import AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForSequenceClassification

>>> tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
>>> model = OVModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english", export=True)
>>> pipe = pipeline("text-classification", model=model, tokenizer=tokenizer)
>>> outputs = pipe("Hello, my dog is cute")

OVModelForTokenClassification

class optimum.intel.OVModelForTokenClassification

< >

( model = None config = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是运行 OpenVINO Runtime 推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化时,不会加载与模型相关的权重,只有配置。请查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法以加载模型权重。
  • device (str, 默认为 "CPU") — 优化模型的设备类型。生成的编译模型将包含特定于该设备的节点。
  • dynamic_shapes (bool, 默认值为 True) — 当设置为 True 时,模型的所有维度都将设置为动态。如果要将模型默认设置为不动态重塑,应将其设置为 False
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关信息的信息字典。
  • compile (bool, 默认值为 True) — 当设置为 False 时,禁用加载步骤中对模型的编译。这在模型需要静态重塑、设备修改或启用 FP16 转换时非常有用,以避免不必要的编译。

OpenVINO 模型,带有 TokenClassifierOutput,用于标记分类任务。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( input_ids: typing.Union[torch.Tensor, numpy.ndarray] attention_mask: typing.Union[torch.Tensor, numpy.ndarray] token_type_ids: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • input_ids (torch.Tensor) — 输入序列令牌在最常用的词汇表中的索引。索引可以通过 AutoTokenizer 获取。 什么是输入 ID?
  • attention_mask (torch.Tensor), 可选) — 用于避免在填充令牌索引上执行注意力的掩码。掩码值取自 [0, 1]
  • token_type_ids (torch.Tensor, 可选) — 段落标记索引,用于指示输入的第一部分和第二部分。索引在 [0, 1] 范围内选择:

OVModelForTokenClassification 面向方法覆盖了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

transformers.pipelines 进行标记分类的示例。

>>> from transformers import AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForTokenClassification

>>> tokenizer = AutoTokenizer.from_pretrained("dslim/bert-base-NER")
>>> model = OVModelForTokenClassification.from_pretrained("dslim/bert-base-NER", export=True)
>>> pipe = pipeline("token-classification", model=model, tokenizer=tokenizer)
>>> outputs = pipe("My Name is Peter and I live in New York.")

音频

以下类用于以下音频任务。

OVModelForAudioClassification

optimum.intel.OVModelForAudioClassification

< >

( model = None config = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO Runtime 推理的主类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关联的权重,只加载配置。请参阅 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device (str, 默认为 "CPU") — 将对模型进行优化的设备类型。生成的编译模型将包含特定于该设备的节点。
  • dynamic_shapes (bool, 默认为 True) — 将所有模型的维度设置为动态,当设置为 True 时。为了不默认动态调整模型的尺寸,应将其设置为 False
  • ov_config (Optional[Dict], 默认为 None) — 包含有关模型编译信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤禁止模型编译。在模型需要静态重塑、设备修改或启用 FP16 转换的情况下,此操作可能很有用,可避免不必要的编译。

用于音频分类任务的 OpenVINO 模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( input_values : typing.Union[torch.Tensor, numpy.ndarray] attention_mask : typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • input_ids (torch.Tensor) — 词汇表中的输入序列标记索引。索引可以通过使用 AutoTokenizer 获取。 什么是输入 ID?
  • attention_mask (torch.Tensor), 可选) — 用于避免在填充标记索引上执行注意力的掩码。选择的掩码值在 [0, 1] 范围内:
  • token_type_ids (torch.Tensor, 可选) — 用于表示输入的第一和第二部分的段标记索引。索引在 [0, 1] 范围内选择:

OVModelForAudioClassification 的 forward 方法覆盖了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

使用 transformers.pipelines 进行音频分类的示例

>>> from datasets import load_dataset
>>> from transformers import AutoFeatureExtractor, pipeline
>>> from optimum.intel import OVModelForAudioClassification

>>> preprocessor = AutoFeatureExtractor.from_pretrained("superb/hubert-base-superb-er")
>>> model = OVModelForAudioClassification.from_pretrained("superb/hubert-base-superb-er", export=True)
>>> pipe = pipeline("audio-classification", model=model, feature_extractor=preprocessor)
>>> dataset = load_dataset("superb", "ks", split="test")
>>> audio_file = dataset[3]["audio"]["array"]
>>> outputs = pipe(audio_file)

OVModelForAudioFrameClassification

class optimum.intel.OVModelForAudioFrameClassification

< >

( model: Model config: PretrainedConfig = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO Runtime 推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化时不会加载模型相关的权重,只有配置。请查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device (str, 默认为 "CPU") — 模型优化所针对的设备类型。编译后的模型将包含特定于此设备的节点。
  • dynamic_shapes (bool, 默认为 True) — 当设置为 True 时,模型的全部维度将被设置为动态。如果要将模型默认设置为不动态改变形状,应设置为 False
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关的信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤禁用模型编译。在模型需要静态 reshaped、设备修改或启用 FP16 转换的情况下,这可能很有用。

带有顶部帧分类头部用于 Speaker Diarization 等任务的 OpenVINO 模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

OpenVINO 的音频帧分类模型。

forward

< >

( input_values: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None **kwargs )

参数

  • input_values (torch.Tensor of shape (batch_size, sequence_length)) — 输入原始语音波形的数据(浮点值)。这些输入值可以通过将加载到数组中的音频文件使用 AutoFeatureExtractor 获取。

OVModelForAudioFrameClassification 的 forward 方法覆盖了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

音频帧分类示例

>>> from transformers import AutoFeatureExtractor
>>> from optimum.intel import OVModelForAudioFrameClassification
>>> from datasets import load_dataset
>>> import torch

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> feature_extractor = AutoFeatureExtractor.from_pretrained("anton-l/wav2vec2-base-superb-sd")
>>> model =  OVModelForAudioFrameClassification.from_pretrained("anton-l/wav2vec2-base-superb-sd", export=True)

>>> inputs = feature_extractor(dataset[0]["audio"]["array"], return_tensors="pt", sampling_rate=sampling_rate)
>>>    logits = model(**inputs).logits

>>> probabilities = torch.sigmoid(torch.as_tensor(logits)[0])
>>> labels = (probabilities > 0.5).long()
>>> labels[0].tolist()

OVModelForCTC

optimum.intel.OVModelForCTC

< >

( model: Model config: PretrainedConfig = None **kwargs )

参数

  • 模型 (openvino.runtime.Model) — 是用于运行 OpenVINO Runtime 推理的主要类。
  • 配置 (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化不加载与模型相关的权重,只加载配置。请查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法以加载模型权重。
  • 设备 (str,默认为"CPU") — 模型将对其进行优化的设备类型。生成的编译模型将包含针对此设备的特定节点。
  • dynamic_shapes (bool, 默认值为 True) — 当设置为 True 时,模型的维度将全部设置为动态。若要将模型默认设置为非动态重塑,则需要设置为 False
  • ov_config (Optional[Dict], 默认值为 None) — 包含与模型编译相关的信息的字典。
  • compile (bool, 默认值为 True) — 当设置为 False 时,将禁用在加载步骤中的模型编译。在某些情况下,例如模型需要静态重塑、设备修改或启用 FP16 转换时,这可以避免不必要的编译。

Connectionist Temporal Classification (CTC) 顶部带有语言模型头的 Onnx 模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

OpenVINO 的 CTC 模型。

forward

< >

( input_values: typing.Optional[torch.Tensor] = None attention_mask: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • input_values (torch.Tensor of shape (batch_size, sequence_length)) — 输入原始语音波形的浮点数值。输入值可以通过将音频文件加载到数组中得到,使用 AutoFeatureExtractor

OVModelForCTC 的 forward 方法,重写了特殊方法 __call__

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

CTC 示例

>>> from transformers import AutoFeatureExtractor
>>> from optimum.intel import OVModelForCTC
>>> from datasets import load_dataset

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = AutoFeatureExtractor.from_pretrained("facebook/hubert-large-ls960-ft")
>>> model = OVModelForCTC.from_pretrained("facebook/hubert-large-ls960-ft", export=True)

>>> # audio file is decoded on the fly
>>> inputs = processor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="np")
>>> logits = model(**inputs).logits
>>> predicted_ids = np.argmax(logits, axis=-1)

>>> transcription = processor.batch_decode(predicted_ids)

OVModelForAudioXVector

optimum.intel.OVModelForAudioXVector

< >

( model: Model config: PretrainedConfig = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO Runtime 推理的主类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只会加载配置。请参阅 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device (str, 默认值 "CPU") — 模型优化的设备类型。编译后的模型将包含特定于该设备的节点。
  • dynamic_shapes (bool, 默认值 True) — 当设置为 True 时,模型的所有维度将被设置为动态。如果设置为 False,则模型默认不会动态调整形状。
  • ov_config (Optional[Dict], 默认值 None) — 包含与模型编译相关的信息的字典。
  • 编译 (bool,默认为 True) — 当设置为 False 时,在加载步骤中禁用模型编译。在需要静态重塑模型、修改设备或启用 FP16 转换的情况下,这可能很有用。

适用于语音验证等任务的,在 Onnx 模型顶部有 XVector 特征提取头的模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

为 OpenVINO 设计的音频 XVector 模型。

forward

< >

( input_values: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None **kwargs )

参数

  • input_values (torch.Tensor 形状 (batch_size, sequence_length)) — 输入原始语音波形浮点值。输入值可以通过加载到数组中的音频文件获得,使用 AutoFeatureExtractor

OVModelForAudioXVector 的 forward 方法重写了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

音频 XVector 示例

>>> from transformers import AutoFeatureExtractor
>>> from optimum.intel import OVModelForAudioXVector
>>> from datasets import load_dataset
>>> import torch

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> feature_extractor = AutoFeatureExtractor.from_pretrained("anton-l/wav2vec2-base-superb-sv")
>>> model = OVModelForAudioXVector.from_pretrained("anton-l/wav2vec2-base-superb-sv", export=True)

>>> # audio file is decoded on the fly
>>> inputs = feature_extractor(
...     [d["array"] for d in dataset[:2]["audio"]], sampling_rate=sampling_rate, return_tensors="pt", padding=True
... )
>>>     embeddings = model(**inputs).embeddings

>>> embeddings = torch.nn.functional.normalize(embeddings, dim=-1).cpu()

>>> cosine_sim = torch.nn.CosineSimilarity(dim=-1)
>>> similarity = cosine_sim(embeddings[0], embeddings[1])
>>> threshold = 0.7
>>> if similarity < threshold:
...     print("Speakers are not the same!")
>>> round(similarity.item(), 2)

OVModelForSpeechSeq2Seq

optimum.intel.OVModelForSpeechSeq2Seq

< >

( encoder: 模型 decoder: 模型 decoder_with_past: 模型 = None config: 预训练配置 = None **kwargs )

参数

  • encoder (openvino.runtime.Model) — 与编码器关联的OpenVINO运行时模型。
  • decoder (openvino.runtime.Model) — 与解码器关联的OpenVINO运行时模型。
  • decoder_with_past (openvino.runtime.Model) — 与带有过去键值的解码器关联的 OpenVINO 运行时模型。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是与模型关联的配置实例。使用配置文件初始化不会加载模型关联的权重,只加载配置。

为 OpenVINO 推理设计的具有语言模型头的语音序列到序列模型。此类官方支持 whisper 和 speech_to_text。

forward

< >

input_features: typing(Optional[torch.FloatTensor]) = None attention_mask: typing(Optional[torch.LongTensor]) = None decoder_input_ids: typing(Optional[torch.LongTensor]) = None decoder_attention_mask: typing(Optional[torch.BoolTensor]) = None encoder_outputs: typing(Optional[typing.Tuple[typing.Tuple[torch.Tensor]])] = None past_key_values: typing(Optional[typing.Tuple[typing.Tuple[torch.Tensor]])] = None cache_position: typing(Optional[torch.LongTensor]) = None **kwargs

参数

  • input_features (torch.FloatTensor) — 从原始语音波形中提取的梅尔特征。(batch_size, feature_size, encoder_sequence_length)
  • decoder_input_ids (torch.LongTensor) — 解码输入序列标记的索引,形状为(batch_size, decoder_sequence_length)的词汇。
  • encoder_outputstorch.FloatTensor) — 编码器的 last_hidden_state,形状为 (batch_size, encoder_sequence_length, hidden_size)
  • past_key_valuestuple(tuple(torch.FloatTensor), *optional*, defaults to None) — 包含用于加快解码过程的前计算的关键和值隐藏状态。元组的长度为 config.n_layers,每个元组包含 2 个形状为 (batch_size, num_heads, decoder_sequence_length, embed_size_per_head) 的张量,以及 2 个额外的形状为 (batch_size, num_heads, encoder_sequence_length, embed_size_per_head) 的张量。

OVModelForSpeechSeq2Seq 的 forward 方法,重写了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

文本生成示例

>>> from transformers import AutoProcessor
>>> from optimum.intel import OVModelForSpeechSeq2Seq
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("openai/whisper-tiny")
>>> model = OVModelForSpeechSeq2Seq.from_pretrained("openai/whisper-tiny")

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> inputs = processor.feature_extractor(ds[0]["audio"]["array"], return_tensors="pt")

>>> gen_tokens = model.generate(inputs=inputs.input_features)
>>> outputs = processor.tokenizer.batch_decode(gen_tokens)

使用 transformers.pipeline 的示例

>>> from transformers import AutoProcessor, pipeline
>>> from optimum.intel import OVModelForSpeechSeq2Seq
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("openai/whisper-tiny")
>>> model = OVModelForSpeechSeq2Seq.from_pretrained("openai/whisper-tiny")
>>> speech_recognition = pipeline("automatic-speech-recognition", model=model, tokenizer=processor.tokenizer, feature_extractor=processor.feature_extractor)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> pred = speech_recognition(ds[0]["audio"]["array"])

计算机视觉

以下类可用于以下计算机视觉任务。

OVModelForImageClassification

optimum.intel.OVModelForImageClassification

< >

( model = None config = None **kwargs )

参数

  • model (openvino.runtime.Model) —— 是用于执行 OpenVINO 运行时推理的主要类。
  • config(《transformers.PretrainedConfig》)—— PretrainedConfig 是包含所有模型参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只加载配置。查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device(《str》,默认值 "CPU")—— 用于模型优化的设备类型。生成的编译模型将包含特定于该设备的节点。
  • dynamic_shapes(《bool》,默认值 True)—— 当设置为 True 时,将所有模型维度设置为动态。应将默认设置为 False 以不动态重新形状模型。
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关的信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤中禁用模型编译。这可以避免不必要的编译,例如当模型需要静态重塑、设备更改或启用 FP16 转换时。

用于图像分类任务的 OpenVINO 模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( pixel_values: typing.Union[torch.Tensor, numpy.ndarray] **kwargs )

参数

  • pixel_valuestorch.Tensor) — 当前批次的图像对应的像素值。像素值可以通过使用 AutoFeatureExtractor 从编码的图像中获取。

OVModelForImageClassification 前向方法,重写了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

使用 transformers.pipelines 的图像分类示例

>>> from transformers import AutoFeatureExtractor, pipeline
>>> from optimum.intel import OVModelForImageClassification

>>> preprocessor = AutoFeatureExtractor.from_pretrained("google/vit-base-patch16-224")
>>> model = OVModelForImageClassification.from_pretrained("google/vit-base-patch16-224", export=True)
>>> model.reshape(batch_size=1, sequence_length=3, height=224, width=224)
>>> pipe = pipeline("image-classification", model=model, feature_extractor=preprocessor)
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> outputs = pipe(url)
此类也可与[timm](https://github.com/huggingface/pytorch-image-models)一起使用

托管在 HuggingFaceHub 的模型。示例

>>> from transformers import pipeline
>>> from optimum.intel.openvino.modeling_timm import TimmImageProcessor
>>> from optimum.intel import OVModelForImageClassification

>>> model_id = "timm/vit_tiny_patch16_224.augreg_in21k"
>>> preprocessor = TimmImageProcessor.from_pretrained(model_id)
>>> model = OVModelForImageClassification.from_pretrained(model_id, export=True)
>>> pipe = pipeline("image-classification", model=model, feature_extractor=preprocessor)
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> outputs = pipe(url)

多模态

以下类为以下多模态任务可用。

OVModelForVision2Seq

optimum.intel.OVModelForVision2Seq

< >

( encoder: 模型 decoder: 模型 decoder_with_past: 模型 = None config: 预训练配置 = None **kwargs )

参数

  • encoder (openvino.runtime.Model) — 与编码器关联的 OpenVINO Runtime 模型。
  • decoder (openvino.runtime.Model) — 与解码器关联的 OpenVINO Runtime 模型。
  • decoder_with_past (openvino.runtime.Model) — 与具有过去关键值的解码器关联的 OpenVINO Runtime 模型。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是与模型关联的配置实例。用配置文件初始化不会加载与模型关联的权重,只会加载配置。

适用于 OpenVINO 推理的语言建模头 VisionEncoderDecoder 序列到序列模型。

forward

< >

( pixel_values: typing.Optional[torch.FloatTensor] = None attention_mask: typing.Optional[torch.LongTensor] = None decoder_input_ids: typing.Optional[torch.LongTensor] = None decoder_attention_mask: typing.Optional[torch.BoolTensor] = None encoder_outputs: typing.Optional[typing.Tuple[typing.Tuple[torch.Tensor]]] = None past_key_values: typing.Optional[typing.Tuple[typing.Tuple[torch.Tensor]]] = None **kwargs )

参数

  • pixel_values (torch.FloatTensor) — 从图像中提取的特性。此张量的形状应为 (batch_size, num_channels, height, width)
  • decoder_input_ids (torch.LongTensor) — 在词汇表中索引解码器输入序列标记的形状为 (batch_size, decoder_sequence_length)
  • encoder_outputs (torch.FloatTensor) — 解码器的最后一个隐藏态 last_hidden_state 的形状为 (batch_size, encoder_sequence_length, hidden_size)
  • past_key_values (tuple(tuple(torch.FloatTensor), *optional*, defaults to None) 包含用于加速解码的注意力块预先计算的关键和值隐藏状态。元组长度为 config.n_layers,每个元组包含 2 个形状为 (batch_size, num_heads, decoder_sequence_length, embed_size_per_head) 的张量,以及 2 个额外的形状为 (batch_size, num_heads, encoder_sequence_length, embed_size_per_head) 的张量。

OVModelForVision2Seq 的 forward 方法,重写了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

文本生成示例

>>> from transformers import AutoProcessor, AutoTokenizer
>>> from optimum.intel import OVModelForVision2Seq
>>> from PIL import Image
>>> import requests


>>> processor = AutoProcessor.from_pretrained("microsoft/trocr-small-handwritten")
>>> tokenizer = AutoTokenizer.from_pretrained("microsoft/trocr-small-handwritten")
>>> model = OVModelForVision2Seq.from_pretrained("microsoft/trocr-small-handwritten", export=True)

>>> url = "https://fki.tic.heia-fr.ch/static/img/a01-122-02-00.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)
>>> inputs = processor(image, return_tensors="pt")

>>> gen_tokens = model.generate(**inputs)
>>> outputs = tokenizer.batch_decode(gen_tokens, skip_special_tokens=True)

使用 transformers.pipeline 的示例

>>> from transformers import AutoProcessor, AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForVision2Seq
>>> from PIL import Image
>>> import requests


>>> processor = AutoProcessor.from_pretrained("microsoft/trocr-small-handwritten")
>>> tokenizer = AutoTokenizer.from_pretrained("microsoft/trocr-small-handwritten")
>>> model = OVModelForVision2Seq.from_pretrained("microsoft/trocr-small-handwritten", export=True)

>>> url = "https://fki.tic.heia-fr.ch/static/img/a01-122-02-00.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)

>>> image_to_text = pipeline("image-to-text", model=model, tokenizer=tokenizer, feature_extractor=processor, image_processor=processor)
>>> pred = image_to_text(image)

OVModelForPix2Struct

optimum.intel.OVModelForPix2Struct

< >

( encoder: 模型 decoder: 模型 decoder_with_past: 模型 = None config: 预训练配置 = None **kwargs )

参数

  • 编码器 (openvino.runtime.Model) — 与编码器关联的OpenVINO Runtime模型。
  • 解码器 (openvino.runtime.Model) — 与解码器关联的OpenVINO Runtime模型。
  • decoder_with_past (openvino.runtime.Model) — 与具有过去关键值的解码器关联的OpenVINO Runtime模型。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是与模型关联的配置实例。使用配置文件初始化不会加载与模型关联的权重,只有配置。

为 OpenVINO 推理设计的带有语言建模头的 Pix2Struct 模型。

forward

< >

( flattened_patches: typing.Optional[torch.FloatTensor] = None attention_mask: typing.Optional[torch.LongTensor] = None decoder_input_ids: typing.Optional[torch.LongTensor] = None decoder_attention_mask: typing.Optional[torch.BoolTensor] = None encoder_outputs: typing.Optional[typing.Tuple[typing.Tuple[torch.Tensor]]] = None past_key_values: typing.Optional[typing.Tuple[typing.Tuple[torch.Tensor]]] = None **kwargs )

参数

  • 平铺的像素块 (torch.FloatTensor 形状 (batch_size, seq_length, hidden_size)) — 展平的像素块。其中 hidden_size 由以下公式计算得到:hidden_size = num_channels patch_size patch_size 展平像素块的过程由 Pix2StructProcessor 完成。
  • 注意力掩码 (torch.FloatTensor 形状 (batch_size, sequence_length),可选) — 用于避免在填充标记索引上执行注意力操作。
  • 解码器输入ID (torch.LongTensor 形状 (batch_size, target_sequence_length),可选) — 词汇表中解码器输入序列标记的索引。Pix2StructText 使用 pad_token_id 作为 decoder_input_ids 生成的起始标记。如果使用 past_key_values,则可选地仅输入最后一个 decoder_input_ids(见 past_key_values)。
  • decoder_attention_mask (torch.BoolTensor 形状 (batch_size, target_sequence_length)可选) — 默认行为:生成一个忽略 decoder_input_ids 中的填充标记的张量。默认情况下还会使用因果掩码。
  • encoder_outputs (tuple(tuple(torch.FloatTensor)可选) — 包含:(last_hidden_state可选hidden_states可选attentionslast_hidden_state 形状 (batch_size, sequence_length, hidden_size) 是编码器最后一层的隐藏状态序列。用于解码器的交叉注意力。
  • past_key_values (tuple(tuple(torch.FloatTensor), *可选*, 默认为 None) — 包含用来加速解码的注意力模块预先计算的键和值隐藏状态。元组的长度为 config.n_layers,每个元组包含2个形状为 (batch_size, num_heads, decoder_sequence_length, embed_size_per_head) 的张量,以及2个形状为 (batch_size, num_heads, encoder_sequence_length, embed_size_per_head) 的额外张量。

OVModelForPix2Struct 前向方法,覆盖了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

pix2struct 示例

>>> from transformers import AutoProcessor
>>> from optimum.intel import OVModelForPix2Struct
>>> from PIL import Image
>>> import requests

>>> processor = AutoProcessor.from_pretrained("google/pix2struct-ai2d-base")
>>> model = OVModelForPix2Struct.from_pretrained("google/pix2struct-ai2d-base", export=True)

>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/ai2d-demo.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)
>>> question = "What does the label 15 represent? (1) lava (2) core (3) tunnel (4) ash cloud"
>>> inputs = processor(images=image, text=question, return_tensors="pt")

>>> gen_tokens = model.generate(**inputs)
>>> outputs = processor.batch_decode(gen_tokens, skip_special_tokens=True)

自定义任务

OVModelForCustomTasks

optimum.intel.OVModelForCustomTasks

< >

( model: Model config: PretrainedConfig = None **kwargs )

参数

  • model (openvino.runtime.Model) — 是用于运行 OpenVINO 运行时推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含所有模型参数的模型配置类。使用配置文件初始化不会加载与模型相关联的权重,只加载配置。请查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法以加载模型权重。
  • device (str, 默认为 "CPU") — 要为该模型优化的设备类型。生成的编译模型将包含针对此设备的特定节点。
  • dynamic_shapes (bool, 默认为 True) — 当设置为 True 时,将设置模型的所有维度为动态。为了使模型默认不动态重塑,应将此设置为 False
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关的信息的字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤中禁用模型编译。这在模型需要进行静态重塑、修改设备或启用 FP16 转换的情况下很有用,以避免不必要的编译。

针对自定义任务的 OpenVINO 模型。它可以用于利用任何单个文件 OpenVINO 模型的推理加速,如果模型使用自定义输入和输出也是可以的。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( **kwargs )

OVModelForCustomTasks 的 forward 方法,覆盖了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

自定义任务示例(例如,使用池化头的句子转换器)

>>> from transformers import AutoTokenizer
>>> from optimum.intel import OVModelForCustomTasks

>>> tokenizer = AutoTokenizer.from_pretrained("IlyasMoutawwakil/sbert-all-MiniLM-L6-v2-with-pooler")
>>> model = OVModelForCustomTasks.from_pretrained("IlyasMoutawwakil/sbert-all-MiniLM-L6-v2-with-pooler")

>>> inputs = tokenizer("I love burritos!", return_tensors="np")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooler_output = outputs.pooler_output

OVModelForFeatureExtraction

optimum.intel.OVModelForFeatureExtraction

< >

( model = None config = None **kwargs )

参数

  • 模型 (openvino.runtime.Model) — 是用于运行OpenVINO Runtime推理的主要类。
  • config (transformers.PretrainedConfig) — PretrainedConfig 是包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关的权重,只加载配置。请查看 ~intel.openvino.modeling.OVBaseModel.from_pretrained 方法来加载模型权重。
  • device (str, 默认为 "CPU") — 模型将为此设备进行优化的设备类型。结果编译的模型将包含特定于此设备的节点。
  • dynamic_shapes (bool, 默认为 True) — 当设置为 True 时,模型的所有维度将设置为动态。若要使模型默认不进行动态重塑,应将此设置为 False
  • ov_config (Optional[Dict], 默认为 None) — 包含与模型编译相关信息的数据字典。
  • compile (bool, 默认为 True) — 当设置为 False 时,在加载步骤中禁用模型编译。这可以用于避免不必要编译,例如当需要静态调整模型尺寸、修改设备或启用 FP16 转换时。

用于特征提取任务的基础模型输出 OpenVINO 模型。

此模型继承自 optimum.intel.openvino.modeling.OVBaseModel。有关库为所有模型实现的通用方法(如下载或保存)的文档,请检查超类文档。

forward

< >

( input_ids: typing.Union[torch.Tensor, numpy.ndarray] attention_mask: typing.Union[torch.Tensor, numpy.ndarray] token_type_ids: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None **kwargs )

参数

  • input_ids (torch.Tensor) — 词汇表中的输入序列标记索引。索引可以通过 AutoTokenizer 获取。 输入ID是什么?
  • attention_mask (torch.Tensor, 可选) — 避免在填充标记索引上执行注意力的掩码。掩码值选在 [0, 1] 中:
  • token_type_ids (torch.Tensor, 可选) — 段落标记索引,用于指示输入的第一部分和第二部分。索引选择在 [0, 1] 中:

OVModelForFeatureExtraction 的 forward 方法,重写了 __call__ 特殊方法。

尽管前向传递的配方需要在这个函数内定义,但应该调用 Module 实例之后,而不是这个实例,因为前者会处理预处理和后处理步骤,而后者会静默忽略它们。

使用 transformers.pipelines 进行特征提取的示例

>>> from transformers import AutoTokenizer, pipeline
>>> from optimum.intel import OVModelForFeatureExtraction

>>> tokenizer = AutoTokenizer.from_pretrained("sentence-transformers/all-MiniLM-L6-v2")
>>> model = OVModelForFeatureExtraction.from_pretrained("sentence-transformers/all-MiniLM-L6-v2", export=True)
>>> pipe = pipeline("feature-extraction", model=model, tokenizer=tokenizer)
>>> outputs = pipe("My Name is Peter and I live in New York.")

forward

( *args **kwargs )

OVStableDiffusionXLPipeline

class optimum.intel.OVStableDiffusionXLPipeline

< >

( *args add_watermarker: typing.Optional[bool] = None **kwargs )

forward

< >

( *args **kwargs )

OVLatentConsistencyModelPipeline

optimum.intel.OVLatentConsistencyModelPipeline

< >

forward

< >

( *args **kwargs )

图像到图像

OVStableDiffusionImg2ImgPipeline

optimum.intel.OVStableDiffusionImg2ImgPipeline

< >

forward

< >

( *args **kwargs )

OVStableDiffusionXLImg2ImgPipeline

optimum.intel.OVStableDiffusionXLImg2ImgPipeline

< >

( *args add_watermarker: typing.Optional[bool] = None **kwargs )

forward

< >

( *args **kwargs )

修复图像

OVStableDiffusionInpaintPipeline

optimum.intel.OVStableDiffusionInpaintPipeline

< >

forward

< >

( *args **kwargs )

< > 在GitHub上更新