T5GemmaTokenizer 类keras_hub.tokenizers.T5GemmaTokenizer(proto, **kwargs)
基于 SentencePiece 的 T5Gemma 分词器层。
这个分词器类会将原始字符串分词为整数序列,并且基于 keras_hub.tokenizers.SentencePieceTokenizer。与底层分词器不同的是,它会检查 T5Gemma 模型所需的所有特殊 token,并提供一个 from_preset() 方法来自动下载匹配的 T5Gemma 预设模型词汇表。
如果输入是一批字符串(秩 > 0),该层将输出一个 tf.RaggedTensor,其中输出的最后一个维度是不规则的。
如果输入是标量字符串(秩 == 0),该层将输出一个具有静态形状 [None] 的密集 tf.Tensor。
参数
string 路径,或序列化 SentencePiece proto 的 bytes 对象。有关格式的更多详细信息,请参阅 SentencePiece 仓库。示例
import io
import tensorflow as tf
import sentencepiece
# Unbatched input.
tokenizer = keras_hub.models.T5GemmaTokenizer.from_preset(
"t5gemma_b_b_prefixlm_it"
)
tokenizer("The quick brown fox jumped.")
# Batched input.
tokenizer(["The quick brown fox jumped.", "The fox slept."])
# Detokenization.
tokenizer.detokenize(tokenizer("The quick brown fox jumped."))
# Custom vocabulary.
bytes_io = io.BytesIO()
ds = tf.data.Dataset.from_tensor_slices(["The quick brown fox jumped."])
sentencepiece.SentencePieceTrainer.train(
sentence_iterator=ds.as_numpy_iterator(),
model_writer=bytes_io,
vocab_size=8,
model_type="WORD",
pad_id=0,
bos_id=1,
eos_id=2,
unk_id=3,
pad_piece="<pad>",
bos_piece="<bos>",
eos_piece="<eos>",
unk_piece="<unk>",
)
tokenizer = keras_hub.models.T5GemmaTokenizer(
proto=bytes_io.getvalue(),
)
tokenizer("The quick brown fox jumped.")
from_preset 方法T5GemmaTokenizer.from_preset(preset, config_file="tokenizer.json", **kwargs)
从模型预设实例化一个 keras_hub.models.Tokenizer。
预设是一个包含配置、权重和其他文件资产的目录,用于保存和加载预训练模型。preset 可以作为以下之一传递:
'bert_base_en''kaggle://user/bert/keras/bert_base_en''hf://user/bert_base_en''./bert_base_en'对于任何 Tokenizer 子类,您都可以运行 cls.presets.keys() 来列出该类上所有可用的内置预设。
此构造函数可以通过两种方式调用。一种是像 keras_hub.models.Tokenizer.from_preset() 那样从基类调用,另一种是像 keras_hub.models.GemmaTokenizer.from_preset() 那样从模型类调用。如果从基类调用,返回对象的子类将根据预设目录中的配置进行推断。
参数
示例
# Load a preset tokenizer.
tokenizer = keras_hub.tokenizer.Tokenizer.from_preset("bert_base_en")
# Tokenize some input.
tokenizer("The quick brown fox tripped.")
# Detokenize some input.
tokenizer.detokenize([5, 6, 7, 8, 9])
| 预设 | 参数 | 描述 |
|---|---|---|
| t5gemma_s_s_ul2 | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为 UL2 模型。 |
| t5gemma_s_s_prefixlm | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为前缀语言模型。 |
| t5gemma_s_s_ul2_it | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_s_s_prefixlm_it | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_b_b_ul2 | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为 UL2 模型。 |
| t5gemma_b_b_prefixlm | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为前缀语言模型。 |
| t5gemma_b_b_ul2_it | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_b_b_prefixlm_it | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_l_l_ul2 | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为 UL2 模型。 |
| t5gemma_l_l_prefixlm | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为前缀语言模型。 |
| t5gemma_l_l_ul2_it | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_l_l_prefixlm_it | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_ml_ml_ul2 | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为 UL2 模型。 |
| t5gemma_ml_ml_prefixlm | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为前缀语言模型。 |
| t5gemma_ml_ml_ul2_it | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_ml_ml_prefixlm_it | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_xl_xl_ul2 | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为 UL2 模型。 |
| t5gemma_xl_xl_prefixlm | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为前缀语言模型。 |
| t5gemma_xl_xl_ul2_it | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_xl_xl_prefixlm_it | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_2b_2b_ul2 | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型。 |
| t5gemma_2b_2b_prefixlm | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型。 |
| t5gemma_2b_2b_ul2_it | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_2b_2b_prefixlm_it | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_9b_2b_ul2 | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型。 |
| t5gemma_9b_2b_prefixlm | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型。 |
| t5gemma_9b_2b_ul2_it | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_9b_2b_prefixlm_it | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_9b_9b_ul2 | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为 UL2 模型。 |
| t5gemma_9b_9b_prefixlm | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为前缀语言模型。 |
| t5gemma_9b_9b_ul2_it | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_9b_9b_prefixlm_it | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
T5GemmaTokenizer 类keras_hub.models.T5GemmaTokenizer(proto, **kwargs)
基于 SentencePiece 的 T5Gemma 分词器层。
这个分词器类会将原始字符串分词为整数序列,并且基于 keras_hub.tokenizers.SentencePieceTokenizer。与底层分词器不同的是,它会检查 T5Gemma 模型所需的所有特殊 token,并提供一个 from_preset() 方法来自动下载匹配的 T5Gemma 预设模型词汇表。
如果输入是一批字符串(秩 > 0),该层将输出一个 tf.RaggedTensor,其中输出的最后一个维度是不规则的。
如果输入是标量字符串(秩 == 0),该层将输出一个具有静态形状 [None] 的密集 tf.Tensor。
参数
string 路径,或序列化 SentencePiece proto 的 bytes 对象。有关格式的更多详细信息,请参阅 SentencePiece 仓库。示例
import io
import tensorflow as tf
import sentencepiece
# Unbatched input.
tokenizer = keras_hub.models.T5GemmaTokenizer.from_preset(
"t5gemma_b_b_prefixlm_it"
)
tokenizer("The quick brown fox jumped.")
# Batched input.
tokenizer(["The quick brown fox jumped.", "The fox slept."])
# Detokenization.
tokenizer.detokenize(tokenizer("The quick brown fox jumped."))
# Custom vocabulary.
bytes_io = io.BytesIO()
ds = tf.data.Dataset.from_tensor_slices(["The quick brown fox jumped."])
sentencepiece.SentencePieceTrainer.train(
sentence_iterator=ds.as_numpy_iterator(),
model_writer=bytes_io,
vocab_size=8,
model_type="WORD",
pad_id=0,
bos_id=1,
eos_id=2,
unk_id=3,
pad_piece="<pad>",
bos_piece="<bos>",
eos_piece="<eos>",
unk_piece="<unk>",
)
tokenizer = keras_hub.models.T5GemmaTokenizer(
proto=bytes_io.getvalue(),
)
tokenizer("The quick brown fox jumped.")
from_preset 方法T5GemmaTokenizer.from_preset(preset, config_file="tokenizer.json", **kwargs)
从模型预设实例化一个 keras_hub.models.Tokenizer。
预设是一个包含配置、权重和其他文件资产的目录,用于保存和加载预训练模型。preset 可以作为以下之一传递:
'bert_base_en''kaggle://user/bert/keras/bert_base_en''hf://user/bert_base_en''./bert_base_en'对于任何 Tokenizer 子类,您都可以运行 cls.presets.keys() 来列出该类上所有可用的内置预设。
此构造函数可以通过两种方式调用。一种是像 keras_hub.models.Tokenizer.from_preset() 那样从基类调用,另一种是像 keras_hub.models.GemmaTokenizer.from_preset() 那样从模型类调用。如果从基类调用,返回对象的子类将根据预设目录中的配置进行推断。
参数
示例
# Load a preset tokenizer.
tokenizer = keras_hub.tokenizer.Tokenizer.from_preset("bert_base_en")
# Tokenize some input.
tokenizer("The quick brown fox tripped.")
# Detokenize some input.
tokenizer.detokenize([5, 6, 7, 8, 9])
| 预设 | 参数 | 描述 |
|---|---|---|
| t5gemma_s_s_ul2 | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为 UL2 模型。 |
| t5gemma_s_s_prefixlm | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为前缀语言模型。 |
| t5gemma_s_s_ul2_it | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_s_s_prefixlm_it | 312.52M | T5Gemma S/S 模型,具有小型编码器和小型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_b_b_ul2 | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为 UL2 模型。 |
| t5gemma_b_b_prefixlm | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为前缀语言模型。 |
| t5gemma_b_b_ul2_it | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_b_b_prefixlm_it | 591.49M | T5Gemma B/B 模型,具有基础编码器和基础解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_l_l_ul2 | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为 UL2 模型。 |
| t5gemma_l_l_prefixlm | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为前缀语言模型。 |
| t5gemma_l_l_ul2_it | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_l_l_prefixlm_it | 1.24B | T5Gemma L/L 模型,具有大型编码器和大型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_ml_ml_ul2 | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为 UL2 模型。 |
| t5gemma_ml_ml_prefixlm | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为前缀语言模型。 |
| t5gemma_ml_ml_ul2_it | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_ml_ml_prefixlm_it | 2.20B | T5Gemma ML/ML 模型,具有中大型编码器和中大型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_xl_xl_ul2 | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为 UL2 模型。 |
| t5gemma_xl_xl_prefixlm | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为前缀语言模型。 |
| t5gemma_xl_xl_ul2_it | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_xl_xl_prefixlm_it | 3.77B | T5Gemma XL/XL 模型,具有超大型编码器和超大型解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_2b_2b_ul2 | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型。 |
| t5gemma_2b_2b_prefixlm | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型。 |
| t5gemma_2b_2b_ul2_it | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_2b_2b_prefixlm_it | 5.60B | T5Gemma 2B/2B 模型,具有 20 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_9b_2b_ul2 | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型。 |
| t5gemma_9b_2b_prefixlm | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型。 |
| t5gemma_9b_2b_ul2_it | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_9b_2b_prefixlm_it | 12.29B | T5Gemma 9B/2B 模型,具有 90 亿参数的编码器和 20 亿参数的解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |
| t5gemma_9b_9b_ul2 | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为 UL2 模型。 |
| t5gemma_9b_9b_prefixlm | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为前缀语言模型。 |
| t5gemma_9b_9b_ul2_it | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为 UL2 模型,并进行了指令遵循微调。 |
| t5gemma_9b_9b_prefixlm_it | 20.33B | T5Gemma 9B/9B 模型,具有 90 亿参数的编码器和 90 亿参数的解码器,被适配为前缀语言模型,并进行了指令遵循微调。 |