spaCy - 预训练命令



它用于预训练管道组件的“标记到向量 (tok2vec)”层。为此,它使用近似语言建模目标。

可以通过以下几点了解其工作原理:

  • 首先,我们需要加载预训练的向量,然后训练一个像 CNN 这样的组件来预测向量,这些向量将进一步与预训练的向量匹配。

  • 它将在每个 epoch 后将权重保存到目录中。

  • 保存后,我们现在可以将这些预训练权重文件的路径之一传递给train命令。

  • 现在,为了在 spacy train 期间加载权重,建议确保预训练和训练之间的所有设置都相同。

Pretrain命令如下:

python -m spacy pretrain [texts_loc] [vectors_model] [output_dir][--width] [--conv-depth] [--cnn-window] [--cnn-pieces] [--use-chars] [--sa-depth][--embed-rows] [--loss_func] [--dropout] [--batch-size] [--max-length][--min-length] [--seed] [--n-iter] [--use-vectors] [--n-save-every][--init-tok2vec] [--epoch-start]

参数

下表解释了它的参数:

参数 类型 描述
texts_loc 位置参数 此参数采用包含用于学习的原始文本的 JSONL 文件的路径。文本作为键“text”提供,或标记作为键“tokens”提供。
vectors_model 位置参数 它是用于学习的具有向量的 spaCy 模型的路径或名称。
output_dir 位置参数 此参数表示每个 epoch 将模型写入的目录。
--width, -cw 选项 它表示 CNN 层的宽度。
--conv-depth, -cd 选项 它表示 CNN 层的深度。
--cnn-window, -cW 选项 在 2.2.2 版本中引入,表示 CNN 层的窗口大小。
--cnn-pieces, -cP 选项 在 2.2.2 版本中引入,表示 CNN 层的 Maxout 大小。例如,1 表示 Mish。
--use-chars, -chr 标志 在 2.2.2 版本中引入,定义是否使用基于字符的嵌入。
--sa-depth, -sa 选项 在 2.2.2 版本中引入,表示自注意力层的深度。
--embed-rows, -er 选项 此参数采用嵌入行的数量。
--loss-func, -L 选项 它表示用于目标的损失函数。例如,它可以是“cosine”、“L2”或“characters”。
--dropout, -d 选项 它表示 dropout 率。
--batch-size, -bs 选项 它是每个训练批次的单词数。
--max-length, -xw 选项 使用此参数,您可以指定每个示例的最大单词数。超过指定长度的示例将被丢弃。
--min-length, -nw 选项 使用此参数,您可以指定每个示例的最小单词数。短于指定长度的示例将被丢弃。
--seed, -s 选项 顾名思义,它是随机数生成器的种子。
--n-iter, -i 选项 此参数用于指定预训练的迭代次数。
--use-vectors, -uv 标志 它定义是否将静态向量用作输入特征。
--n-save-every, -se 选项 此参数将每 X 个批次保存一次模型。
--init-tok2vec, -t2v 选项 在 2.1 版本中引入,定义模型的 token-to-vector 部分的预训练权重的路径。
--epoch-start, -es 选项 在 2.1.5 版本中引入,表示开始计数的 epoch。仅当使用 --init-tok2vec 且给定的权重文件已重命名时才相关。它还可以防止意外覆盖现有的权重文件。

以下是原始文本的 JSON 格式:

  • text - 它的类型是 Unicode,它表示原始输入文本。如果标记可用,则不需要它。它是常规 JSON 和默认输出文件类型。

  • tokens - 它的类型是列表,每个标记采用一个字符串。它用于可选的分词。

spacy_command_line_helpers.htm
广告