speechbrain.tokenizers.discrete_SSL_tokenizer 模块
用于语义标记的分词器。
- Author
Pooneh Mousavi 2024
摘要
类:
该类是用于DiscreteSSL模型的标记器,对从DiscreteSSL模型中提取的语义标记进行后处理。 |
参考
- class speechbrain.tokenizers.discrete_SSL_tokenizer.DiscreteSSLTokenizer(num_clusters)[source]
基础类:
object该类是用于DiscreteSSL模型的标记器,该模型对从DiscreteSSL模型中提取的语义标记进行后处理。 它通过将每层的标记ID加上层数乘以聚类数,使每层的标记ID唯一。 如果该层的字段设置为true,则独立地对每层进行去重,并用零填充所有项目。 如果为该层设置了句子片段标记器,则独立地对每层进行子词处理,并用零填充所有项目。 如果未应用子词处理,则所有标记ID增加1,以避免pad_id(0)与质心为零的聚类之间的冲突。
- Parameters:
num_clusters (List[int]) – 确定kmeans模型的聚类数量。每一层的数量可能不同。
Example
>>> import torch >>> inputs = torch.randint(0,1000,(3, 6, 2)) >>> ssl_layer_num = [7,23] >>> deduplicate =[False, True] >>> bpe_tokenizers=[None, None] >>> num_clusters = [1000,2000] >>> tokenizer = DiscreteSSLTokenizer(num_clusters=num_clusters) >>> tokens= tokenizer.encode(inputs,SSL_layers=ssl_layer_num, deduplicates=deduplicate, bpe_tokenizers=bpe_tokenizers) >>> print(tokens.shape) torch.Size([3, 6, 2])
- textify(tokens)[source]
将token ID转换为字符,用于训练sentencepiece分词器。
- Parameters:
tokens (torch.Tensor) – 一个 (Batch x Seq) 的音频令牌张量
- Returns:
processed_tokens – 每个令牌ID对应的字符的(批量 x 序列)列表。
- Return type: