PARSeqTokenizer

[源代码]

PARSeqTokenizer

keras_hub.tokenizers.PARSeqTokenizer(
    vocabulary=[
        "0",
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "a",
        "b",
        "c",
        "d",
        "e",
        "f",
        "g",
        "h",
        "i",
        "j",
        "k",
        "l",
        "m",
        "n",
        "o",
        "p",
        "q",
        "r",
        "s",
        "t",
        "u",
        "v",
        "w",
        "x",
        "y",
        "z",
        "A",
        "B",
        "C",
        "D",
        "E",
        "F",
        "G",
        "H",
        "I",
        "J",
        "K",
        "L",
        "M",
        "N",
        "O",
        "P",
        "Q",
        "R",
        "S",
        "T",
        "U",
        "V",
        "W",
        "X",
        "Y",
        "Z",
        "!",
        '"',
        "#",
        "$",
        "%",
        "&",
        "'",
        "(",
        ")",
        "*",
        "+",
        ",",
        "-",
        ".",
        "/",
        ":",
        ";",
        "<",
        "=",
        ">",
        "?",
        "@",
        "[",
        "\\",
        "]",
        "^",
        "_",
        "`",
        "{",
        "|",
        "}",
        "~",
    ],
    remove_whitespace=True,
    normalize_unicode=True,
    max_label_length=25,
    dtype="int32",
    **kwargs
)

PARSeq 模型的 Tokenizer,专为 OCR 任务设计。

此 Tokenizer 可将字符串转换为整数 ID 或字符串 Token 的序列,反之亦然。它支持各种预处理步骤,例如去除空格、Unicode 规范化以及限制最大标签长度。它还提供了从文件保存和加载词汇表的功能。

参数

  • vocabulary: str。表示要使用的词汇表的字符串或可迭代对象。如果为字符串,则将其视为词汇表文件的路径。如果为可迭代对象,则将其视为构成词汇表的字符列表。默认为 PARSEQ_VOCAB
  • remove_whitespace: bool。是否从输入中删除空格字符。默认为 True
  • normalize_unicode: bool。是否使用 NFKD 规范化来规范化输入中的 Unicode 字符,并删除非 ASCII 字符。默认为 True
  • max_label_length: int。分词化输出的最大长度。较长的标签将被截断。默认为 25
  • dtype: str。分词化输出的数据类型。必须是整数类型(例如“int32”)或字符串类型(“string”)。默认为 "int32"
  • **kwargs: 传递给基础 keras.layers.Layer 构造函数的其他关键字参数。

[源代码]

from_preset 方法

PARSeqTokenizer.from_preset(preset, config_file="tokenizer.json", **kwargs)

从模型预设实例化一个 keras_hub.models.Tokenizer

预设是一个包含配置、权重和其他文件资产的目录,用于保存和加载预训练模型。preset 可以作为以下之一传递:

  1. 一个内置的预设标识符,如 'bert_base_en'
  2. 一个 Kaggle Models 句柄,如 'kaggle://user/bert/keras/bert_base_en'
  3. 一个 Hugging Face 句柄,如 'hf://user/bert_base_en'
  4. 一个本地预设目录的路径,如 './bert_base_en'

对于任何 Tokenizer 子类,您都可以运行 cls.presets.keys() 来列出该类上所有可用的内置预设。

此构造函数可以通过两种方式调用。一种是像 keras_hub.models.Tokenizer.from_preset() 那样从基类调用,另一种是像 keras_hub.models.GemmaTokenizer.from_preset() 那样从模型类调用。如果从基类调用,返回对象的子类将根据预设目录中的配置进行推断。

参数

  • preset:字符串。一个内置预设标识符、一个 Kaggle Models 句柄、一个 Hugging Face 句柄或一个本地目录的路径。
  • load_weights:布尔值。如果为 `True`,权重将被加载到模型架构中。如果为 `False`,权重将被随机初始化。

示例

# 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])