Transformers 4.37 中文文档(七十四)(5)

简介: Transformers 4.37 中文文档(七十四)

Transformers 4.37 中文文档(七十四)(4)https://developer.aliyun.com/article/1564205


BarkProcessor

class transformers.BarkProcessor

<来源>

( tokenizer speaker_embeddings = None )

参数

  • tokenizer (PreTrainedTokenizer) — PreTrainedTokenizer 的实例。
  • speaker_embeddings (Dict[Dict[str]], 可选) — 可选的嵌套说话者嵌入字典。第一级包含声音预设名称(例如"en_speaker_4")。第二级包含"semantic_prompt""coarse_prompt""fine_prompt"嵌入。值对应于相应np.ndarray的路径。请参阅此处获取voice_preset_names列表。

构建一个 Bark 处理器,将文本标记器和可选的 Bark 声音预设包装成一个处理器。

__call__

<来源>

( text = None voice_preset = None return_tensors = 'pt' max_length = 256 add_special_tokens = False return_attention_mask = True return_token_type_ids = False **kwargs ) → export const metadata = 'undefined';Tuple(BatchEncoding, BatchFeature)

参数

  • text (str, List[str], List[List[str]]) — 要编码的序列或序列批次。每个序列可以是字符串或字符串列表(预分词字符串)。如果提供的序列是字符串列表(预分词),必须设置is_split_into_words=True(以消除与序列批次的歧义)。
  • voice_preset (str, Dict[np.ndarray]) — 声音预设,即说话者嵌入。它可以是有效的 voice_preset 名称,例如"en_speaker_1",或直接是Bark的每个子模型的np.ndarray嵌入的字典。或者它可以是本地.npz单个声音预设的有效文件名。
  • return_tensors (str或 TensorType, 可选) — 如果设置,将返回特定框架的张量。可接受的值为:
  • 'pt': 返回 PyTorch torch.Tensor对象。
  • 'np': 返回 NumPy np.ndarray对象。

返回

元组(BatchEncoding, BatchFeature)

一个元组,由一个 BatchEncoding 组成,即tokenizer的输出,以及一个 BatchFeature,即具有正确张量类型的声音预设。

准备模型一个或多个序列的主要方法。此方法将textkwargs参数转发给 AutoTokenizer 的__call__()以对文本进行编码。该方法还提供了一个声音预设,它是一个数组字典,用于条件化Bark的输出。如果voice_preset是有效的文件名,则kwargs参数将被转发给 tokenizer 和cached_file方法。

from_pretrained

<来源>

( pretrained_processor_name_or_path speaker_embeddings_dict_path = 'speaker_embeddings_path.json' **kwargs )

参数

  • pretrained_model_name_or_path (stros.PathLike) — 这可以是:
  • 一个字符串,预训练的 BarkProcessor 的模型 ID,托管在 huggingface.co 上的模型存储库中。有效的模型 ID 可以位于根级别,如 bert-base-uncased,或者在用户或组织名称下命名空间化,如 dbmdz/bert-base-german-cased
  • 指向包含使用 save_pretrained() 方法保存的处理器的目录路径,例如,./my_model_directory/
  • speaker_embeddings_dict_path (str, 可选, 默认为 "speaker_embeddings_path.json") — 包含位于 pretrained_model_name_or_path 中的说话者嵌入字典的 .json 文件的名称。如果为 None,则不加载说话者嵌入。**kwargs — 传递给 ~tokenization_utils_base.PreTrainedTokenizer.from_pretrained 的额外关键字参数。

实例化一个与预训练模型相关联的 Bark 处理器。

save_pretrained

<来源>

( save_directory speaker_embeddings_dict_path = 'speaker_embeddings_path.json' speaker_embeddings_directory = 'speaker_embeddings' push_to_hub: bool = False **kwargs )

参数

  • save_directory (stros.PathLike) — 将分词器文件和说话者嵌入保存在其中的目录(如果不存在,将创建目录)。
  • speaker_embeddings_dict_path (str, 可选, 默认为 "speaker_embeddings_path.json") — 包含说话者嵌入嵌套路径字典的 .json 文件的名称,如果存在,将位于 pretrained_model_name_or_path/speaker_embeddings_directory 中。
  • speaker_embeddings_directory (str, 可选, 默认为 "speaker_embeddings/") — 说话者嵌入数组将保存在其中的文件夹的名称。
  • push_to_hub (bool, 可选, 默认为 False) — 是否在保存后将模型推送到 Hugging Face 模型中心。您可以使用 repo_id 指定要推送到的存储库(将默认为您的命名空间中的 save_directory 名称)。kwargs — 传递给 push_to_hub() 方法的额外关键字参数。

将此处理器的属性(分词器等)保存在指定目录中,以便可以使用 from_pretrained() 方法重新加载。

BarkModel

class transformers.BarkModel

<来源>

( config )

参数

  • config (BarkConfig) — 模型配置类,包含模型的所有参数。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained() 方法以加载模型权重。

完整的 Bark 模型,一个由 4 个子模型组成的文本到语音模型:

  • BarkSemanticModel(也称为‘文本’模型):一个因果自回归变换器模型,以标记化文本作为输入,并预测捕捉文本含义的语义文本标记。
  • BarkCoarseModel(也称为‘粗声学’模型),也是一个因果自回归变换器,它接受上一个模型的结果作为输入。它旨在回归出编码所需的前两个音频码书。
  • BarkFineModel('fine acoustics’模型),这次是一个非因果自动编码器变压器,它基于前一个码本嵌入的总和来迭代预测最后的码本。
  • 从 EncodecModel 中预测出所有码本通道后,Bark 使用它来解码输出音频数组。

值得注意的是,前三个模块中的每一个都可以支持条件说话者嵌入,根据特定预定义的声音来调整输出声音。

该模型继承自 PreTrainedModel。查看超类文档以了解库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入、修剪头等)。

该模型还是一个 PyTorch torch.nn.Module子类。将其用作常规的 PyTorch 模块,并参考 PyTorch 文档以了解所有与一般用法和行为相关的事项。

generate

<来源>

( input_ids: Optional = None history_prompt: Optional = None return_output_lengths: Optional = None **kwargs ) → export const metadata = 'undefined';By default

参数

  • input_ids(形状为(batch_size,seq_len)的Optional[torch.Tensor]可选)— 输入 id。将被截断至 256 个标记。请注意,输出音频的长度将与批次中最长的生成长度一样。
  • history_promptOptional[Dict[str,torch.Tensor]]可选)— 可选的Bark说话者提示。请注意,目前,该模型每批次只接受一个说话者提示。
  • kwargs可选)— 剩余的关键字参数字典。关键字参数有两种类型:
  • 如果没有前缀,它们将作为每个子模型的generate方法的**kwargs输入。
  • 使用semantic_coarse_、*fine_*前缀,它们将作为语义、粗糙和细致的generate方法的输入。它优先于没有前缀的关键字。
  • 这意味着您可以为所有子模型指定一个生成策略,除了一个。
  • return_output_lengthsbool可选)— 是否返回波形长度。在批处理时很有用。

返回

默认情况下

  • audio_waveform(形状为(batch_size,seq_len)的torch.Tensor):生成的音频波形。当return_output_lengths=True时:返回一个由以下元组组成:
  • audio_waveform(形状为(batch_size,seq_len)的torch.Tensor):生成的音频波形。
  • output_lengths(形状为(batch_size)的torch.Tensor):批次中每个波形的长度

从输入提示和一个额外的可选Bark说话者提示生成音频。

示例:

>>> from transformers import AutoProcessor, BarkModel
>>> processor = AutoProcessor.from_pretrained("suno/bark-small")
>>> model = BarkModel.from_pretrained("suno/bark-small")
>>> # To add a voice preset, you can pass `voice_preset` to `BarkProcessor.__call__(...)`
>>> voice_preset = "v2/en_speaker_6"
>>> inputs = processor("Hello, my dog is cute, I need him in my life", voice_preset=voice_preset)
>>> audio_array = model.generate(**inputs, semantic_max_new_tokens=100)
>>> audio_array = audio_array.cpu().numpy().squeeze()
enable_cpu_offload

<来源>

( gpu_id: Optional = 0 )

参数

  • gpu_idint可选,默认为 0)— 子模型将加载和卸载的 GPU id。

使用加速器将所有子模型卸载到 CPU,减少内存使用量,对性能影响较小。该方法在使用时一次将一个完整的子模型移动到 GPU,并且子模型在 GPU 中保持,直到下一个子模型运行。

BarkSemanticModel

class transformers.BarkSemanticModel

<来源>

( config )

参数

  • config(BarkSemanticConfig)— 具有模型所有参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。

Bark 语义(或文本)模型。它与粗模型共享相同的架构。这是一个类似于 GPT-2 的自回归模型,顶部带有语言建模头。此模型继承自 PreTrainedModel。检查超类文档以获取库为其所有模型实现的通用方法(例如下载或保存、调整输入嵌入、修剪头等)。

此模型也是 PyTorch torch.nn.Module子类。将其用作常规 PyTorch 模块,并参考 PyTorch 文档以获取有关一般用法和行为的所有相关信息。

forward

<来源>

( input_ids: Optional = None past_key_values: Optional = None attention_mask: Optional = None position_ids: Optional = None head_mask: Optional = None labels: Optional = None input_embeds: Optional = None use_cache: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None )

参数

  • input_ids(形状为(batch_size, sequence_length)torch.LongTensor)- 词汇表中输入序列标记的索引。默认情况下,如果提供填充,则将被忽略。可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call()。什么是输入 ID?
  • past_key_valuestuple(tuple(torch.FloatTensor))可选,当传递了use_cacheconfig.use_cache=True时返回)- 长度为config.n_layerstuple(torch.FloatTensor)元组,每个元组有 2 个形状为(batch_size, num_heads, sequence_length, embed_size_per_head)的张量。
    包含预先计算的隐藏状态(自注意力块中的键和值),可用于加速顺序解码。
    如果使用了past_key_values,用户可以选择仅输入最后的decoder_input_ids(那些没有将其过去的键值状态提供给此模型的标记),形状为(batch_size, 1),而不是形状为(batch_size, sequence_length)的所有input_ids
  • attention_mask(形状为(batch_size, sequence_length)torch.Tensor可选)- 用于避免在填充标记索引上执行注意力的掩码。掩码值在[0, 1]中选择:
  • 对于“未屏蔽”的标记,为 1,
  • 对于“屏蔽”的标记,为 0。
  • 什么是注意力掩码?
  • position_ids(形状为(batch_size, sequence_length)torch.LongTensor可选)- 每个输入序列标记在位置嵌入中的位置索引。在范围[0, config.max_position_embeddings - 1]中选择。
    什么是位置 ID?
  • head_mask(形状为(encoder_layers, encoder_attention_heads)torch.Tensor可选)- 用于将编码器中注意力模块的选定头部置零的掩码。掩码值在[0, 1]中选择:
  • 1 表示头部未“屏蔽”。
  • 0 表示头部被“屏蔽”。
  • input_embeds(形状为(batch_size, input_sequence_length, hidden_size)torch.FloatTensor可选)- 可选地,可以直接传递嵌入表示,而不是传递input_ids。在这里,由于Bark的特殊性,如果使用了past_key_values,将忽略input_embeds,您必须使用input_ids。如果未使用past_key_valuesuse_cache设置为True,则优先使用input_embeds而不是input_ids
  • use_cachebool可选)- 如果设置为True,将返回past_key_values键值状态,并可用于加速解码(参见past_key_values)。
  • output_attentionsbool可选)- 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回的张量下的attentions
  • output_hidden_states (bool, optional) — 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量下的hidden_states
  • return_dict (bool, optional) — 是否返回一个 ModelOutput 而不是一个普通的元组。

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

虽然前向传递的方法需要在此函数内定义,但应该在此之后调用Module实例而不是这个,因为前者会处理运行前后处理步骤,而后者会默默地忽略它们。

BarkCoarseModel

class transformers.BarkCoarseModel

<来源>

( config )

参数

  • config (BarkCoarseConfig) — 包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。

Bark 粗糙声学模型。它与语义(或文本)模型共享相同的架构。这是一个类似于 GPT-2 的自回归模型,顶部带有语言建模头。此模型继承自 PreTrainedModel。检查超类文档以获取库为所有模型实现的通用方法(如下载或保存、调整输入嵌入、修剪头等)。

此模型也是 PyTorch torch.nn.Module子类。将其用作常规 PyTorch 模块,并参考 PyTorch 文档以获取有关一般用法和行为的所有相关信息。

forward

<来源>

( input_ids: Optional = None past_key_values: Optional = None attention_mask: Optional = None position_ids: Optional = None head_mask: Optional = None labels: Optional = None input_embeds: Optional = None use_cache: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None )

参数

  • input_ids (torch.LongTensor,形状为(batch_size, sequence_length)) — 词汇表中输入序列标记的索引。默认情况下将忽略填充。可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call()。什么是输入 ID?
  • past_key_values (tuple(tuple(torch.FloatTensor)), optional, 当传递use_cache参数或者config.use_cache=True时返回) — 长度为config.n_layerstuple(torch.FloatTensor)元组,每个元组有 2 个形状为(batch_size, num_heads, sequence_length, embed_size_per_head)的张量。
    包含预先计算的隐藏状态(自注意力块中的键和值),可用于加速顺序解码(查看past_key_values输入)。
    如果使用了past_key_values,用户可以选择仅输入最后一个形状为(batch_size, 1)decoder_input_ids(那些没有将它们的过去键值状态提供给此模型的)而不是所有形状为(batch_size, sequence_length)input_ids
  • attention_mask (torch.Tensor,形状为(batch_size, sequence_length)optional) — 用于避免在填充标记索引上执行注意力的掩码。掩码值选择在[0, 1]之间:
  • 对于未被masked的标记为 1,
  • 对于被masked的标记为 0。
  • 什么是注意力掩码?
  • position_ids (torch.LongTensor,形状为(batch_size, sequence_length)可选) — 每个输入序列标记在位置嵌入中的位置索引。在范围[0, config.max_position_embeddings - 1]中选择。
    什么是位置 ID?
  • head_mask (torch.Tensor,形状为(encoder_layers, encoder_attention_heads)可选) — 用于使编码器中注意力模块的选定头部失效的掩码。掩码值选择在[0, 1]中:
  • 1 表示头部是未屏蔽
  • 0 表示头部是masked
  • input_embeds (torch.FloatTensor,形状为(batch_size, input_sequence_length, hidden_size)可选) — 可选择直接传递嵌入表示而不是传递input_ids。在这里,由于Bark的特殊性,如果使用了past_key_values,则将忽略input_embeds,必须使用input_ids。如果未使用past_key_values并且use_cache设置为True,则优先使用input_embeds而不是input_ids
  • use_cache (bool可选) — 如果设置为True,则返回past_key_values键值状态,可用于加速解码(参见past_key_values)。
  • output_attentions (bool可选) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参见返回的张量下的attentions
  • output_hidden_states (bool可选) — 是否返回所有层的隐藏状态。有关更多详细信息,请参见返回的张量下的hidden_states
  • return_dict (bool可选) — 是否返回一个 ModelOutput 而不是一个普通的元组。

BarkCausalModel 的前向方法覆盖了__call__特殊方法。

虽然前向传递的方法需要在此函数内定义配方,但应该在此之后调用Module实例,而不是调用此函数,因为前者负责运行前处理和后处理步骤,而后者会默默地忽略它们。

BarkFineModel

class transformers.BarkFineModel

<来源>

( config )

参数

  • config (BarkFineConfig) — 具有模型所有参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只加载配置。查看 from_pretrained()方法以加载模型权重。

Bark fine acoustics model. It is a non-causal GPT-like model with config.n_codes_total embedding layers and language modeling heads, one for each codebook.  This model inherits from PreTrainedModel. Check the superclass  documentation for the generic methods the library implements for all its  model (such as downloading or saving, resizing the input embeddings,  pruning heads etc.)

此模型也是 PyTorch torch.nn.Module子类。将其用作常规 PyTorch 模块,并参考 PyTorch 文档以获取与一般用法和行为相关的所有事项。

forward

<来源>

( codebook_idx: int input_ids: Optional = None attention_mask: Optional = None position_ids: Optional = None head_mask: Optional = None labels: Optional = None input_embeds: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None )

参数

  • codebook_idx (int) — 将被预测的码书的索引。
  • input_ids (torch.LongTensor,形状为(batch_size, sequence_length, number_of_codebooks)) — 输入序列标记在词汇表中的索引。默认情况下将忽略填充。最初,前两个码书的索引是从coarse子模型中获取的。其余的通过递归预测前面预测的通道来预测。模型对长度为 1024 的窗口进行预测。
  • attention_mask (torch.Tensor,形状为(batch_size, sequence_length)可选) — 避免在填充标记索引上执行注意力的掩码。掩码值选择在[0, 1]范围内:
  • 1 表示未被 mask的标记,
  • 0 表示masked的标记。
  • 什么是注意力掩码?
  • position_ids (torch.LongTensor,形状为(batch_size, sequence_length)可选) — 每个输入序列标记在位置嵌入中的位置索引。选择范围为[0, config.max_position_embeddings - 1]
    什么是位置 ID?
  • head_mask (torch.Tensor,形状为(encoder_layers, encoder_attention_heads)可选) — 在编码器中将注意力模块的选定头部置零的掩码。掩码值选择在[0, 1]范围内:
  • 1 表示头部未被 mask
  • 0 表示头部被masked
  • labels (torch.LongTensor,形状为(batch_size, sequence_length)可选) — 尚未实现。
  • input_embeds (torch.FloatTensor,形状为(batch_size, input_sequence_length, hidden_size)可选) — 可选地,您可以选择直接传递嵌入表示而不是传递input_ids。如果使用past_key_values,则只需输入最后的input_embeds(请参见past_key_values)。如果您想要更多控制如何将input_ids索引转换为相关向量,而不是使用模型的内部嵌入查找矩阵,这将非常有用。
  • output_attentions (bool, optional) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参见返回张量下的attentions
  • output_hidden_states (bool, optional) — 是否返回所有层的隐藏状态。有关更多详细信息,请参见返回张量下的hidden_states
  • return_dict (bool可选) — 是否返回 ModelOutput 而不是普通元组。

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

虽然前向传递的步骤需要在此函数中定义,但应该在此之后调用Module实例,而不是在此处调用,因为前者会负责运行预处理和后处理步骤,而后者会默默地忽略它们。

BarkCausalModel

class transformers.BarkCausalModel

<来源>

( config )
forward

<来源>

( input_ids: Optional = None past_key_values: Optional = None attention_mask: Optional = None position_ids: Optional = None head_mask: Optional = None labels: Optional = None input_embeds: Optional = None use_cache: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None )

参数

  • input_ids (torch.LongTensor,形状为(batch_size, sequence_length)) — 输入序列标记在词汇表中的索引。默认情况下将忽略填充。可以使用 AutoTokenizer 获取索引。有关详细信息,请参见 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call()。什么是输入 ID?
  • past_key_values (tuple(tuple(torch.FloatTensor))可选,当传递了use_cacheconfig.use_cache=True时返回) — 长度为config.n_layerstuple(torch.FloatTensor)元组,每个元组有两个形状为(batch_size, num_heads, sequence_length, embed_size_per_head)的张量。
    包含预先计算的隐藏状态(自注意力块中的键和值),可用于加速顺序解码(参见past_key_values输入)。
    如果使用了past_key_values,用户可以选择仅输入最后一个形状为(batch_size, 1)decoder_input_ids(那些没有将其过去的键值状态传递给该模型的)而不是形状为(batch_size, sequence_length)的所有input_ids
  • attention_mask (torch.Tensor,形状为(batch_size, sequence_length)可选) — 用于避免在填充标记索引上执行注意力的掩码。掩码值选择在[0, 1]之间:
  • 1 表示标记未被“masked”。
  • 对于被masked的标记为 0。
  • 注意力掩码是什么?
  • position_ids (torch.LongTensor,形状为(batch_size, sequence_length)可选) — 每个输入序列标记在位置嵌入中的位置索引。选择范围为[0, config.max_position_embeddings - 1]
    位置 ID 是什么?
  • head_mask (torch.Tensor,形状为(encoder_layers, encoder_attention_heads)可选) — 用于使编码器中注意力模块的选定头部失效的掩码。掩码值选择在[0, 1]之间:
  • 1 表示头部未被“masked”。
  • 0 表示头部被masked
  • input_embeds (torch.FloatTensor,形状为(batch_size, input_sequence_length, hidden_size)可选) — 可选地,可以直接传递嵌入表示而不是传递input_ids。在这里,由于Bark的特殊性,如果使用了past_key_values,将忽略input_embeds,必须使用input_ids。如果未使用past_key_valuesuse_cache设置为True,则优先使用input_embeds而不是input_ids
  • use_cache (bool, 可选) — 如果设置为True,将返回past_key_values键值状态,并可用于加速解码(参见past_key_values)。
  • output_attentions (bool, 可选) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回张量下的attentions
  • output_hidden_states (bool, 可选) — 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量下的hidden_states
  • return_dict (bool, 可选) — 是否返回一个 ModelOutput 而不是一个普通元组。

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

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

BarkCoarseConfig

class transformers.BarkCoarseConfig

<来源>

( block_size = 1024 input_vocab_size = 10048 output_vocab_size = 10048 num_layers = 12 num_heads = 12 hidden_size = 768 dropout = 0.0 bias = True initializer_range = 0.02 use_cache = True **kwargs )

参数

  • block_size (int, 可选, 默认为 1024) — 该模型可能会使用的最大序列长度。通常将其设置为较大的值以防万一(例如,512、1024 或 2048)。
  • input_vocab_size (int, 可选, 默认为 10_048) — Bark 子模型的词汇量。定义了在调用 BarkCoarseModel 时可以表示的不同标记数量。默认为 10_048,但应谨慎考虑所选子模型。
  • output_vocab_size (int, optional, 默认为 10_048) — Bark 子模型的输出词汇量。定义了在向前传递 BarkCoarseModel 时可以表示的不同标记数量:output_ids。默认为 10_048,但应根据所选子模型慎重考虑。
  • num_layers (int, optional, 默认为 12) — 给定子模型中隐藏层的数量。
  • num_heads (int, optional, 默认为 12) — Transformer 架构中每个注意力层的注意力头数。
  • hidden_size (int, optional, 默认为 768) — 架构中“中间”(通常称为前馈)层的维度。
  • dropout (float, optional, 默认为 0.0) — 嵌入层、编码器和池化器中所有全连接层的丢弃概率。
  • bias (bool, optional, 默认为True) — 是否在线性层和层归一化层中使用偏置。
  • initializer_range (float, optional, 默认为 0.02) — 用于初始化所有权重矩阵的截断正态初始化器的标准差。
  • use_cache (bool, optional, 默认为True) — 模型是否应返回最后的键/值注意力(并非所有模型都使用)。

这是一个配置类,用于存储 BarkCoarseModel 的配置。根据指定的参数实例化模型,定义模型架构。使用默认值实例化配置将产生与 Bark suno/bark架构类似的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。阅读 PretrainedConfig 的文档以获取更多信息。

示例:

>>> from transformers import BarkCoarseConfig, BarkCoarseModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkCoarseConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkCoarseModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

BarkFineConfig

class transformers.BarkFineConfig

<来源>

( tie_word_embeddings = True n_codes_total = 8 n_codes_given = 1 **kwargs )

参数

  • block_size (int, optional, 默认为 1024) — 此模型可能会使用的最大序列长度。通常将其设置为较大的值以防万一(例如,512 或 1024 或 2048)。
  • input_vocab_size (int, optional, 默认为 10_048) — Bark 子模型的词汇量。定义了在调用 BarkFineModel 时可以表示的不同标记数量:inputs_ids。默认为 10_048,但应根据所选子模型慎重考虑。
  • output_vocab_size (int, optional, 默认为 10_048) — Bark 子模型的输出词汇量。定义了在向前传递 BarkFineModel 时可以表示的不同标记数量:output_ids。默认为 10_048,但应根据所选子模型慎重考虑。
  • num_layers (int, optional, 默认为 12) — 给定子模型中隐藏层的数量。
  • num_heads (int, optional, 默认为 12) — Transformer 架构中每个注意力层的注意力头数。
  • hidden_size (int, optional, 默认为 768) — 架构中“中间”(通常称为前馈)层的维度。
  • dropout (float, optional, 默认为 0.0) — 嵌入层、编码器和池化器中所有全连接层的丢弃概率。
  • bias (bool, optional, 默认为True) — 是否在线性层和层归一化层中使用偏置。
  • initializer_range (float, optional, defaults to 0.02) — 用于初始化所有权重矩阵的截断正态初始化器的标准差。
  • use_cache (bool, optional, defaults to True) — 模型是否应返回最后的键/值注意力(并非所有模型都使用)。
  • n_codes_total (int, optional, defaults to 8) — 预测的音频码书总数。用于细声学子模型。
  • n_codes_given (int, optional, defaults to 1) — 粗声学子模型中预测的音频码书数量。用于声学子模型。

这是一个配置类,用于存储 BarkFineModel 的配置。根据指定的参数实例化模型,定义模型架构。使用默认值实例化配置将产生类似于 Bark suno/bark架构的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。阅读 PretrainedConfig 的文档以获取更多信息。

示例:

>>> from transformers import BarkFineConfig, BarkFineModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkFineConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkFineModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

BarkSemanticConfig

class transformers.BarkSemanticConfig

< source >

( block_size = 1024 input_vocab_size = 10048 output_vocab_size = 10048 num_layers = 12 num_heads = 12 hidden_size = 768 dropout = 0.0 bias = True initializer_range = 0.02 use_cache = True **kwargs )

参数

  • block_size (int, optional, defaults to 1024) — 该模型可能使用的最大序列长度。通常设置为较大的值以防万一(例如,512 或 1024 或 2048)。
  • input_vocab_size (int, optional, defaults to 10_048) — Bark 子模型的词汇量。定义了在调用 BarkSemanticModel 时传递的inputs_ids可以表示的不同标记数量。默认为 10_048,但应根据所选子模型慎重考虑。
  • output_vocab_size (int, optional, defaults to 10_048) — Bark 子模型的输出词汇量。定义了在传递 BarkSemanticModel 时output_ids可以表示的不同标记数量。默认为 10_048,但应根据所选子模型慎重考虑。
  • num_layers (int, optional, defaults to 12) — 给定子模型中的隐藏层数量。
  • num_heads (int, optional, defaults to 12) — Transformer 架构中每个注意力层的注意力头数。
  • hidden_size (int, optional, defaults to 768) — 架构中“中间”(通常称为前馈)层的维度。
  • dropout (float, optional, defaults to 0.0) — 嵌入层、编码器和池化器中所有全连接层的丢失概率。
  • bias (bool, optional, defaults to True) — 是否在线性层和层归一化层中使用偏置。
  • initializer_range (float, optional, defaults to 0.02) — 用于初始化所有权重矩阵的截断正态初始化器的标准差。
  • use_cache (bool, optional, defaults to True) — 模型是否应返回最后的键/值注意力(并非所有模型都使用)。

这是一个配置类,用于存储 BarkSemanticModel 的配置。根据指定的参数实例化模型,定义模型架构。使用默认值实例化配置将产生类似于 Bark suno/bark架构的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。阅读 PretrainedConfig 的文档以获取更多信息。

示例:

>>> from transformers import BarkSemanticConfig, BarkSemanticModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkSemanticConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkSemanticModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

rt BarkFineConfig, BarkFineModel

Initializing a Bark sub-module style configuration

configuration = BarkFineConfig()

Initializing a model (with random weights) from the suno/bark style configuration

model = BarkFineModel(configuration)

Accessing the model configuration

configuration = model.config

## BarkSemanticConfig
### `class transformers.BarkSemanticConfig`
[< source >](https://github.com/huggingface/transformers/blob/v4.37.2/src/transformers/models/bark/configuration_bark.py#L142)
```py
( block_size = 1024 input_vocab_size = 10048 output_vocab_size = 10048 num_layers = 12 num_heads = 12 hidden_size = 768 dropout = 0.0 bias = True initializer_range = 0.02 use_cache = True **kwargs )

参数

  • block_size (int, optional, defaults to 1024) — 该模型可能使用的最大序列长度。通常设置为较大的值以防万一(例如,512 或 1024 或 2048)。
  • input_vocab_size (int, optional, defaults to 10_048) — Bark 子模型的词汇量。定义了在调用 BarkSemanticModel 时传递的inputs_ids可以表示的不同标记数量。默认为 10_048,但应根据所选子模型慎重考虑。
  • output_vocab_size (int, optional, defaults to 10_048) — Bark 子模型的输出词汇量。定义了在传递 BarkSemanticModel 时output_ids可以表示的不同标记数量。默认为 10_048,但应根据所选子模型慎重考虑。
  • num_layers (int, optional, defaults to 12) — 给定子模型中的隐藏层数量。
  • num_heads (int, optional, defaults to 12) — Transformer 架构中每个注意力层的注意力头数。
  • hidden_size (int, optional, defaults to 768) — 架构中“中间”(通常称为前馈)层的维度。
  • dropout (float, optional, defaults to 0.0) — 嵌入层、编码器和池化器中所有全连接层的丢失概率。
  • bias (bool, optional, defaults to True) — 是否在线性层和层归一化层中使用偏置。
  • initializer_range (float, optional, defaults to 0.02) — 用于初始化所有权重矩阵的截断正态初始化器的标准差。
  • use_cache (bool, optional, defaults to True) — 模型是否应返回最后的键/值注意力(并非所有模型都使用)。

这是一个配置类,用于存储 BarkSemanticModel 的配置。根据指定的参数实例化模型,定义模型架构。使用默认值实例化配置将产生类似于 Bark suno/bark架构的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。阅读 PretrainedConfig 的文档以获取更多信息。

示例:

>>> from transformers import BarkSemanticConfig, BarkSemanticModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkSemanticConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkSemanticModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
3月前
|
PyTorch 算法框架/工具 异构计算
Transformers 4.37 中文文档(七十四)(4)
Transformers 4.37 中文文档(七十四)
30 1
|
3月前
|
PyTorch 算法框架/工具 异构计算
Transformers 4.37 中文文档(九十六)(3)
Transformers 4.37 中文文档(九十六)
35 1
|
3月前
|
PyTorch 算法框架/工具 索引
Transformers 4.37 中文文档(九十六)(5)
Transformers 4.37 中文文档(九十六)
15 1
|
3月前
|
存储 PyTorch TensorFlow
Transformers 4.37 中文文档(九十六)(2)
Transformers 4.37 中文文档(九十六)
31 1
|
3月前
|
存储 PyTorch TensorFlow
Transformers 4.37 中文文档(九十六)(1)
Transformers 4.37 中文文档(九十六)
33 1
|
3月前
|
机器学习/深度学习 存储 PyTorch
Transformers 4.37 中文文档(九十六)(4)
Transformers 4.37 中文文档(九十六)
21 1
|
3月前
|
PyTorch TensorFlow 算法框架/工具
Transformers 4.37 中文文档(六十五)(3)
Transformers 4.37 中文文档(六十五)
17 1
|
3月前
|
自然语言处理 PyTorch 语音技术
Transformers 4.37 中文文档(七十六)(3)
Transformers 4.37 中文文档(七十六)
33 1
|
3月前
|
机器学习/深度学习 存储 PyTorch
Transformers 4.37 中文文档(七十四)(3)
Transformers 4.37 中文文档(七十四)
22 0
|
3月前
|
存储 编解码 PyTorch
Transformers 4.37 中文文档(七十四)(1)
Transformers 4.37 中文文档(七十四)
18 0