命令行界面
spaCy 的 CLI 提供了各种有用的命令,用于下载和训练管道、转换数据和调试您的配置、数据和安装。要获取可用命令的列表,您可以键入 python -m spacy --help。您还可以将 --help 标志添加到任何命令或子命令,以查看描述、可用参数和用法。
download 命令
下载 spaCy 的 训练好的管道。下载器会找到最佳匹配的兼容版本,并使用 pip install 下载 Python 包。直接下载不执行任何兼容性检查,并且需要指定管道名称及其版本(例如 en_core_web_sm-3.0.0)。
| 名称 | 描述 |
|---|---|
model | 管道包名称,例如 en_core_web_sm。 str |
--direct, -D | 强制直接下载确切的包版本。 bool |
--sdist, -S v3.0 | 下载源代码包(.tar.gz 存档)而不是默认的预构建二进制 wheel。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| pip 参数 | 附加到 pip install 的额外安装选项,在安装管道包时使用。例如,--user 以安装到用户主目录,或 --no-deps 以不安装包依赖项。 Any |
| 创建 | 安装的管道包在您的 site-packages 目录中。 |
info 命令
打印有关您的 spaCy 安装、训练好的管道和本地设置的信息,并生成 Markdown 格式的标记,以复制粘贴到 GitHub issues 中。
| 名称 | 描述 |
|---|---|
model | 训练好的管道,即包名称或路径(可选)。 Optional[str] |
--markdown, -md | 以 Markdown 格式打印信息。 bool |
--silent, -s | 不打印任何内容,只返回值。 bool |
--exclude, -e | 要从输出中排除的逗号分隔的键。默认为 "labels"。 Optional[str] |
--url, -u v3.5.0 | 打印下载管道的最新的兼容版本的 URL。需要管道名称。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 打印 | 有关您的 spaCy 安装的信息。 |
validate 命令
查找当前环境中安装的所有训练好的管道包,并检查它们是否与当前安装的 spaCy 版本兼容。应在通过 pip install -U spacy 升级 spaCy 后运行,以确保所有安装的包都可以与新版本一起使用。它将显示一个包列表及其安装的版本。如果任何包已过时,则会显示最新的兼容版本和更新命令。
| 名称 | 描述 |
|---|---|
| 打印 | 有关您安装的管道包兼容性的详细信息。 |
init v3.0
spacy init CLI 包含有用的命令,用于初始化训练配置文件和管道目录。
init config 命令v3.0
使用针对您的用例的推荐设置初始化并保存 config.cfg 文件。它就像 快速入门小部件一样,只是它还会自动填充所有默认值并导出 训练就绪的配置。您指定设置将影响建议的模型架构和管道设置,以及相关的超参数。您以后还可以在配置文件中调整和自定义这些设置。
| 名称 | 描述 |
|---|---|
output_file | 输出 .cfg 文件的路径,或 - 以将配置写入标准输出(以便您可以将其管道传递到文件或 train 命令)。请注意,如果您写入标准输出,则不会打印任何其他日志信息。 Path |
--lang, -l | 可选的 语言代码。默认为 "en"。 str |
--pipeline, -p | 要包含的可训练 管道组件的逗号分隔列表。默认为 "tagger,parser,ner"。 str |
--optimize, -o | "efficiency" 或 "accuracy"。是优化效率(更快的推理、更小的模型、更低的内存消耗)还是更高的准确性(可能更大的更慢的模型)。这将影响架构、预训练权重和相关超参数的选择。默认为 "efficiency"。 str |
--gpu, -G | 模型是否可以在 GPU 上运行。这将影响架构、预训练权重和相关超参数的选择。 bool |
--pretraining, -pt | 包含预训练配置(使用 spacy pretrain)。默认为 False。 bool |
--force, -f | 强制覆盖如果文件已存在。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 训练配置文件。 |
init fill-config v3.0
使用所有默认值自动填充部分 .cfg 文件,例如使用 快速入门小部件 生成的配置文件。用于训练的配置文件应始终完整,不应包含任何隐藏的默认值或缺失值,因此此命令可帮助您创建最终的训练配置文件。为了找到可用的设置和默认值,将创建配置文件中引用的所有函数,并使用它们的签名来查找默认值。如果您的配置文件包含无法自动解决的问题,spaCy 将向您显示带有更多详细信息的验证错误。
| 名称 | 描述 |
|---|---|
基础路径 | 要填充的基础配置文件的路径,例如由 快速入门小部件 生成。 Path |
output_file | 输出 .cfg 文件的路径,或 ”-” 以写入标准输出,以便您可以将其管道传输到文件。默认值为 ”-” (标准输出)。 Path |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--pretraining, -pt | 包含预训练配置(使用 spacy pretrain)。默认为 False。 bool |
--diff, -D | 打印一个可视化的 diff,突出显示更改。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 用于训练的完整且自动填充的配置文件。 |
init fill-curated-transformer 命令v3.7
自动填充 Curated Transformer 管道组件的 Hugging Face 模型超参数和加载器参数,在 .cfg 文件 中。 Hugging Face 模型 的名称和修订版可以作为命令行参数传递,也可以从配置文件的 initialize.components.transformer.encoder_loader 部分读取。
| 名称 | 描述 |
|---|---|
基础路径 | 要填充的基础配置文件的路径,例如由 快速入门小部件 生成。 Path |
output_file | 输出 .cfg 文件的路径,或 ”-” 以写入标准输出,以便您可以将其管道传输到文件。默认值为 ”-” (标准输出)。 Path |
--model-name, -m | Hugging Face 模型的名称。默认值为编码器加载器配置中的模型名称。 Optional[str] |
--model-revision, -r | Hugging Face 模型的修订版。默认值为 main。 Optional[str] |
--pipe-name, -n | 要填充配置的 Curated Transformer 管道的名称。默认值为第一个 transformer 管道。 Optional[str] |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
| 创建 | 用于训练的完整且自动填充的配置文件。 |
init vectors 命令v3.0
转换 词向量 以供 spaCy 使用。将导出可在 [initialize] 块的配置中用于初始化具有向量的模型。有关在模型中使用向量的详细信息,请参阅关于 静态向量 的用法指南。
| 名称 | 描述 |
|---|---|
lang | 管道语言 IETF 语言标签,例如 en。 str |
vectors_loc | 向量的位置。应该是一个文件,其中第一行包含向量的维度,后跟一个空格分隔的 Word2Vec 表。文件可以提供为 .txt 格式或作为 .zip 或 .tar.gz 格式的压缩文本文件。 Path |
output_dir | 管道输出目录。如果不存在,将创建它。 Path |
--truncate, -t | 读取向量文件时要截断的向量数量。默认值为 0,表示不截断。 int |
--prune, -p | 要修剪词汇表的向量数量。默认值为 -1,表示不修剪。 int |
--mode, -m | 向量模式:default 或 floret。默认值为 default。 str |
--attr, -a | 用于向量的标记属性,例如 LOWER 或 NORM)。默认值为 ORTH。 str |
--name, -n | 要在 meta.json 中分配给词向量的名称,例如 en_core_web_md.vectors。 Optional[str] |
--verbose, -V | 打印其他信息和解释。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 包含词汇表和向量的 spaCy 管道目录。 |
init labels 命令v3.0
生成数据中标签的 JSON 文件。这有助于加快训练过程,因为 spaCy 无需预处理数据以提取标签。生成标签后,您可以将其提供给接受初始化中 [initialize] 块的配置中的 labels 参数的组件。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。如果为 -,则数据将从 标准输入读取。 Union[Path, str] |
output_path | 标签文件的输出目录。如果不存在,将创建一个目录,每个组件一个 JSON 文件。 Path |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--verbose, -V | 显示用于调试目的的更详细的消息。 bool |
--gpu-id, -g | GPU ID 或 -1 表示 CPU。默认值为 -1。 int |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacy。 Any |
| 创建 | 标签文件。 |
find-function 命令v3.7
查找给定注册函数的模块、路径和行号。此功能有助于了解在配置文件中使用的注册函数在哪里定义。
| 名称 | 描述 |
|---|---|
func_name | 注册函数的名称。 str |
--registry, -r | 目录注册表的名称。 str |
convert 命令
将文件转换为 spaCy 的 二进制训练数据格式,即序列化的 DocBin,用于 train 命令和其他实验管理功能。转换器可以在命令行中指定,也可以根据输入文件的文件扩展名选择。
| 名称 | 描述 |
|---|---|
input_path | 输入文件或目录。 Path |
output_dir | 转换后文件的输出目录。默认为 "-",表示数据将被写入 stdout。 Optional[Path] |
--converter, -c | 要使用的转换器名称(见下文)。 str |
--file-type, -t | 要创建的文件类型。可以是 spacy(默认),用于二进制 DocBin 数据,也可以是 json,用于 v2.x JSON 格式。 str |
--n-sents, -n | 每个文档的句子数。支持:conll、conllu、iob、ner int |
--seg-sents, -s | 分句。支持:conll、ner bool |
--base, -b, --model | 用于分句的训练过的 spaCy 管道,作为基础(用于 --seg-sents)。 Optional[str] |
--morphology, -m | 启用将形态学附加到标签。支持:conllu bool |
--merge-subtokens, -T | 合并 CoNLL-U 子词元 bool |
--ner-map, -nm | NER 标签映射(作为 JSON 编码的实体类型字典)。支持:conllu Optional[Path] |
--lang, -l | 语言代码(如果需要分词器)。 Optional[str] |
--concatenate, -C | 将输出连接到单个文件 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 二进制 DocBin 训练数据,可用于 spacy train。 |
转换器
| ID | 描述 |
|---|---|
auto | 根据文件扩展名和文件内容自动选择转换器(默认)。 |
json | JSON 格式的训练数据,用于 spaCy v2.x。 |
conllu | Universal Dependencies .conllu 格式。 |
ner / conll | 带有 IOB/IOB2/BILUO 标签的 NER,每行一个词元,列之间用空格分隔。第一列是词元,最后一列是 NER 标签。句子之间用空行分隔,文档之间用行 -DOCSTART- -X- O O 分隔。支持 CoNLL 2003 NER 格式。请参阅 示例数据。 |
iob | 带有 IOB/IOB2/BILUO 标签的 NER,每行一个句子,词元之间用空格分隔,注释之间用 | 分隔,例如 word|B-ENT 或 word|POS|B-ENT。请参阅 示例数据。 |
debug v3.0
spacy debug CLI 包含用于调试和分析配置、数据和实现的有用命令。
debug config 命令v3.0
调试 config.cfg 文件 并显示验证错误。该命令将创建树中的所有对象并对其进行验证。请注意,某些配置验证错误是阻止性的,并将阻止配置的其余部分被解析。这意味着您可能不会立即看到所有验证错误,并且只有在修复了之前的错误后才会显示某些问题。要自动填充部分配置并保存结果,可以使用 init fill-config 命令。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。如果为 -,则数据将从 标准输入读取。 Union[Path, str] |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--show-functions, -F | 显示配置中使用的所有已注册函数块的概述,以及这些函数来自的位置,包括模块名称、Python 文件和行号。 bool |
--show-variables, -V | 显示配置中引用的所有变量的概述,例如 ${paths.train} 及其将被使用的值。这也反映了 CLI 上提供的任何配置覆盖,例如 --paths.train /path。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacy。 Any |
| 打印 | 如果可用,则显示配置验证错误。 |
debug data 命令
分析、调试和验证您的训练和开发数据。获取有用的统计信息,并找到无效的实体注释、循环依赖关系、低数据标签等问题。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。如果为 -,则数据将从 标准输入读取。 Union[Path, str] |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--ignore-warnings, -IW | 忽略警告,仅显示统计信息和错误。 bool |
--verbose, -V | 打印其他信息和解释。 bool |
--no-format, -NF | 不要美化打印结果。如果您想写入文件,请使用此选项。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacy。 Any |
| 打印 | 调试信息。 |
debug diff-config 命令
显示配置文件的差异,相对于 spaCy 的默认值或其他配置文件。如果创建配置文件时使用了其他设置,则必须在将这些设置与默认设置进行比较时,将这些设置作为额外的参数提供给该命令。生成的差异也可以用于发布到讨论论坛,以便为维护者提供更多信息。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。 Union[Path, str] |
compare_to | 要对比的另一个配置文件的路径,或 None 以与默认设置进行比较。 Optional[Union[Path, str] |
optimize, -o | "efficiency" 或 "accuracy"。配置是针对效率(更快推理、更小模型、更低内存消耗)还是更高准确性(可能更大的更慢的模型)进行了优化。仅在与默认配置进行比较时相关。默认为 "efficiency"。 str |
gpu, -G | 配置是否针对在 GPU 上运行而制作。仅在与默认配置进行比较时相关。 bool |
pretraining, -pt | 包含预训练的配置(使用 spacy pretrain)。仅在与默认配置进行比较时相关。默认为 False。 bool |
markdown, -md | 生成用于 Github issue 的 Markdown。默认为 False。 bool |
| 打印 | 比较两个配置文件之间的差异。 |
debug profile 命令
分析在 spaCy pipeline 中占用最多时间的函数。输入应格式化为每行一个 JSON 对象,并包含一个键 "text"。它可以作为 JSONL 文件提供,也可以从 sys.stdin 读取。如果没有指定输入文件,则将通过 ml_datasets 加载 IMDB 数据集。
| 名称 | 描述 |
|---|---|
model | 可加载的 spaCy pipeline(包名称或路径)。 str |
输入 | 输入文件的路径,或 - 表示标准输入。 Path |
--n-texts, -n | 如果可用,使用的最大文本数。默认为 10000。 int |
--help, -h | 显示帮助消息和可用参数。 bool |
| 打印 | pipeline 的分析信息。 |
debug model 命令v3.0
通过在样本文本上运行 Thinc Model 并检查其如何更新其内部权重和参数来调试 Thinc 模型。
在此示例日志中,我们仅在模型创建后打印每个图层的名称(“步骤 0”),这有助于我们了解神经网络的内部结构,并专注于我们想要进一步检查的特定图层(参见下一个示例)。
在此示例日志中,我们看到模型初始化(步骤 1)传播了各个图层的正确 nI(输入)和 nO(输出)维度值。在 softmax 图层中,此步骤还根据 nO 和 nI 维度定义了 W 矩阵作为全零矩阵。在第一次训练步骤(步骤 2)之后,该矩阵显然通过训练反馈循环更新了其值。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。如果为 -,则数据将从 标准输入读取。 Union[Path, str] |
组件 | 要分析其模型的 pipeline 组件的名称。 str |
--layers, -l | 要打印的图层 ID 的逗号分隔名称。 str |
--dimensions, -DIM | 显示每个图层的维度。 bool |
--parameters, -PAR | 显示每个图层的参数。 bool |
--gradients, -GRAD | 显示每个图层的梯度。 bool |
--attributes, -ATTR | 显示每个图层的属性。 bool |
--print-step0, -P0 | 打印训练前的模型。 bool |
--print-step1, -P1 | 打印初始化后的模型。 bool |
--print-step2, -P2 | 打印训练后的模型。 bool |
--print-step3, -P3 | 打印最终预测。 bool |
--gpu-id, -g | GPU ID 或 -1 表示 CPU。默认值为 -1。 int |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacy。 Any |
| 打印 | 调试信息。 |
debug pieces 命令v3.7
分析词或句子片段统计信息。
| 名称 | 描述 |
|---|---|
config_path | 配置文件的路径。 Union[Path, str] |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--name, -n | 要填充配置的 Curated Transformer 管道的名称。默认值为第一个 transformer 管道。 Optional[str] |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacy。 Any |
| 打印 | 调试信息。 |
train 命令
训练 pipeline。需要 spaCy 的 二进制格式 数据和一个 config 文件,其中包含所有设置和超参数。将保存所有 epoch 中最好的模型以及最终 pipeline。可以使用 --code 参数提供一个在训练过程开始前导入的 Python 文件。这允许您注册 自定义函数 和架构,并在 config 中引用它们,同时仍然使用 spaCy 的内置 train 工作流程。如果您需要管理复杂的多步骤训练工作流程,请查看新的 spaCy 项目。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。如果为 -,则数据将从 标准输入读取。 Union[Path, str] |
--output, -o | 存储训练好的 pipeline 的目录。如果不存在,将创建它。 Optional[Path] |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--verbose, -V | 在训练期间显示更多详细消息。 bool |
--gpu-id, -g | GPU ID 或 -1 表示 CPU。默认值为 -1。 int |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacy。 Any |
| 创建 | 最终训练好的 pipeline 和最好的训练好的 pipeline。 |
从 Python 调用训练函数 v3.2
训练 CLI 公开了 train 辅助函数,它允许您像 spacy train 一样运行训练。通常直接使用命令行更容易,但如果您需要从代码启动训练,可以使用这种方法。
| 名称 | 描述 |
|---|---|
config_path | 用于训练的 config 的路径。 Union[str,Path] |
output_path | 可选目录名称,用于保存输出模型。如果未提供,则不会保存模型。 Optional[Union[str,Path]] |
| 仅限关键字 | |
use_gpu | 要使用的 GPU。默认为 -1 表示不使用 GPU。 int |
overrides | 用于覆盖 config 设置的值。 Dict[str, Any] |
pretrain 命令实验性
预训练“token to vector”(Tok2vec)层,在原始文本上,使用近似语言建模目标。具体来说,我们加载预训练的向量,并训练一个组件,如 CNN、BiLSTM 等,来预测与预训练向量匹配的向量。每个 epoch 之后,权重会保存到目录中。然后,您可以在训练配置中包含一个**指向这些预训练权重文件的路径**,作为init_tok2vec设置,来训练您的 pipeline。如果您的标注数据很少,此技术可能特别有用。有关更多信息,请参阅关于预训练的用法文档。要读取原始文本,通常使用JsonlCorpus。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 训练配置文件 的路径。如果为 -,则数据将从 标准输入读取。 Union[Path, str] |
output_dir | 将二进制权重保存到每个 epoch 的目录。Path |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--resume-path, -r | 从预训练权重恢复预训练的路径。Optional[Path] |
--epoch-resume, -er | 使用--resume-path时,要恢复计数到的 epoch。防止意外覆盖现有的权重文件。Optional[int] |
--gpu-id, -g | GPU ID 或 -1 表示 CPU。默认值为 -1。 int |
--skip-last, -L v3.5.2 | 跳过保存model-last.bin。默认值为False。bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以--开头的选项,对应于要覆盖的配置部分和值,例如--training.dropout 0.2。Any |
| 创建 | 可用于初始化spacy train的预训练权重。 |
evaluate 命令
evaluate子命令已被spacy benchmark accuracy取代。evaluate为了兼容性而提供作为benchmark accuracy的别名。
benchmark v3.5
spacy benchmarkCLI 包含用于基准测试 spaCy pipeline 的准确性和速度的命令。
accuracy 命令v3.5
评估训练好的 pipeline 的准确性。需要一个可加载的 spaCy pipeline(包名或路径)和二进制.spacy格式的评估数据。使用--gold-preproc选项设置评估示例,使用黄金标准的句子和 token 进行预测。黄金预处理有助于将注释与 tokenization 对齐,并可能导致长度更一致的序列。但是,由于训练/测试偏差,它可能会降低运行时准确性。要使用displaCy 可视化将依赖关系解析的样本渲染到 HTML 文件中,请将输出目录设置为--displacy-path参数。
| 名称 | 描述 |
|---|---|
model | 要评估的 pipeline。可以是包或数据目录的路径。str |
data_path | spaCy二进制格式中评估数据的路径。Path |
--output, -o | 用于指标的输出 JSON 文件。如果未设置,则不会导出任何指标。Optional[Path] |
--code, -c v3.0 | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--gold-preproc, -G | 使用黄金预处理。bool |
--gpu-id, -g | 要使用的 GPU(如果有)。默认值为-1,表示 CPU。int |
--displacy-path, -dp | 将渲染的解析输出到 HTML 的目录。如果未设置,则不会生成任何可视化。Optional[Path] |
--displacy-limit, -dl | 每个文件生成的解析数量。默认值为25。请记住,显著更高的数字可能会导致.html文件渲染缓慢。int |
--per-component, -P v3.6 | 是否按组件名称返回分数。默认值为False。bool |
--spans-key, -sk v3.6.2 | 评估Doc.spans时使用的 spans key。默认值为sc。str |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 训练结果和可选的指标和可视化。 |
speed 命令v3.5
基准测试训练好的 pipeline 的速度,并提供 95% 的置信区间。需要一个可加载的 spaCy pipeline(包名或路径)和二进制.spacy格式的基准测试数据。在进行任何测量之前,pipeline 会被预热。
| 名称 | 描述 |
|---|---|
model | 要基准测试速度的 pipeline。可以是包或数据目录的路径。str |
data_path | spaCy二进制格式中基准测试数据的路径。Path |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--batch-size, -b | 设置批处理大小。如果未设置,则使用 pipeline 的批处理大小。Optional[int] |
--no-shuffle | 不要在基准数据集中的文档中进行洗牌。 bool |
--gpu-id, -g | 要使用的 GPU(如果有)。默认值为-1,表示 CPU。int |
--batches | 在基准测试中使用的批次数。默认值为 50。 Optional[int] |
--warmup, -w | 用于预热的基准数据集上的迭代次数。默认值为 3 Optional[int] |
--help, -h | 显示帮助消息和可用参数。 bool |
| 打印 | 每秒处理的词数,置信区间为 95%。 |
apply 命令v3.5
将训练好的管道应用于数据,并将生成的标注文档存储在 DocBin 中。输入可以是单个文件或目录。识别的输入格式是
.spacy.jsonl包含用户指定的text_key- 具有任何其他扩展名的文件被假定为包含单个文档的纯文本文件。
如果提供目录,则递归遍历该目录以收集所有文件。
加载 .spacy 文件时,存储在 Doc 上的任何未被管道覆盖的潜在标注都将被保留。如果您只想在原始文本上评估管道,请确保 .spacy 文件不包含任何标注。
| 名称 | 描述 |
|---|---|
model | 应用于数据的管道。可以是包或指向数据目录的路径。 str |
data_path | 要在 spaCy 的 二进制格式、jsonl 或纯文本中评估的数据的位置。 Path |
output-file | 输出 DocBin 路径。 str |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--text-key, -tk | 用于从 .jsonl 文件中提取文本的键。默认值为 text。 Optional[str] |
--force-overwrite, -F | 如果提供的 output-file 已经存在,则强制 apply 覆盖它。如果为 False (默认值),则会显示警告并退出。 bool |
--gpu-id, -g | 要使用的 GPU(如果有)。默认值为-1,表示 CPU。int |
--batch-size, -b | 用于预测的批处理大小。默认值为 1。 int |
--n-process, -n | 用于预测的进程数。默认值为 1。 int |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 包含来自 data-path 中找到的所有文件的 model 的标注的 DocBin。 |
find-threshold 命令v3.5
针对训练好的模型运行预测试验,并根据指定的指标最大化不同的阈值。阈值的搜索空间在 n_trials 步中从 0 到 1 线性遍历。结果以表格形式显示在 stdout 上(相应的 API 调用 spacy.cli.find_threshold.find_threshold() 返回所有结果)。
这仅适用于受阈值影响的组件的预测 - 例如 textcat_multilabel 和 spancat,但不适用于 textcat。请注意,必须提供配置中相应阈值属性的完整路径。
| 名称 | 描述 |
|---|---|
model | 要评估的 pipeline。可以是包或数据目录的路径。str |
data_path | 包含用于阈值搜索的文档的 DocBin 文件的路径。 Path |
pipe_name | 要检查阈值的管道名称。 str |
threshold_key | 组件配置中阈值属性的键。 str |
scores_key | 要优化的指标名称。 str |
--n_trials, -n | 确定最佳阈值的试验次数。 int |
--code, -c | 包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] |
--gpu-id, -g | 要使用的 GPU(如果有)。默认值为-1,表示 CPU。int |
--gold-preproc, -G | 使用黄金预处理。bool |
--verbose, -V, -VV | 显示更多信息以进行调试。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
assemble 命令
从配置文件组装管道,无需额外训练。需要一个 配置文件,其中包含所有设置和超参数。--code 参数可用于导入 Python 文件,该文件允许您注册 自定义函数并在配置中引用它们。
| 名称 | 描述 |
|---|---|
config_path | 包含所有设置和超参数的 配置 文件的路径。如果为 -,则数据将从 stdin 读取。 Union[Path, str] |
output_dir | 存储最终管道的目录。如果不存在,将创建该目录。 Optional[Path] |
--code, -c | 包含额外代码的 Python 文件的路径,这些代码将被导入。允许 注册自定义函数。 Optional[Path] |
--verbose, -V | 显示处理期间更详细的消息。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| overrides | 要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.data ./data。 Any |
| 创建 | 最终组装的管道。 |
package 命令
从现有的管道数据目录生成一个可安装的 Python 包。所有数据文件都会被复制。如果提供了额外的代码文件(例如,包含自定义注册函数(如 管道组件)的 Python 文件),它们将被复制到包中并在 __init__.py 中导入。如果提供了 meta.json 的路径,或者在输入目录中找到了 meta.json,则将使用此文件。否则,可以从命令行直接输入数据。spaCy 然后将创建一个构建工件,您可以使用 pip install 进行分发和安装。从 v3.1 开始,package 命令还会根据 meta.json 中定义的管道信息创建格式化的 README.md。如果源目录中已经存在 README.md,则将使用它。
| 名称 | 描述 |
|---|---|
input_dir | 包含 pipeline 数据的目录路径。 Path |
output_dir | 创建包文件夹的目录。 Path |
--code, -c v3.0 | 要包含在包中并在其 __init__.py 中导入的 Python 文件的逗号分隔路径。这允许包含 注册函数 和 自定义组件。 str |
--meta-path, -m | meta.json 文件的路径 (可选)。 Optional[Path] |
--create-meta, -C | 即使目录中已经存在一个 meta.json 文件,也创建一个 meta.json 文件。如果找到现有文件,其条目将作为命令行提示符中的默认值显示。 bool |
--build, -b v3.0 | 要构建的工件格式,用逗号分隔。可以是 sdist (用于 .tar.gz 归档文件) 和/或 wheel (用于二进制 .whl 文件),或者 none 如果你想手动执行此步骤。生成的工件可以通过 pip install 安装。默认值为 sdist。 str |
--name, -n v3.0 | 要覆盖 meta 中的包名称。 Optional[str] |
--version, -v v3.0 | 要覆盖 meta 中的包版本。在训练新版本时很有用,因为它不需要编辑 meta 模板。 Optional[str] |
--force, -f | 强制覆盖输出目录中现有的文件夹。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 包含 spaCy pipeline 的 Python 包。 |
project v3.0
spacy project CLI 包含用于处理 spaCy 项目 的子命令,用于构建和部署自定义 spaCy pipeline 的端到端工作流程。
project clone 命令
从 Git 仓库克隆项目模板。在底层调用 git,如果可用,可以使用稀疏检出功能,因此你只需下载所需的内容。默认情况下,使用 spaCy 的 项目模板仓库,但你可以使用任何其他你可以访问的仓库 (公共或私有) 通过 --repo 选项。
| 名称 | 描述 |
|---|---|
name | 要克隆的模板名称,相对于仓库。可以是顶层目录或子目录,例如 dir/template。 str |
dest | 克隆项目的目标位置。默认为当前工作目录。 Path |
--repo, -r | 要克隆的仓库。可以是你可以访问的任何公共或私有 Git 仓库。 str |
--branch, -b | 要克隆的分支。默认为 master。 str |
--sparse, -S | 启用 稀疏检出 以仅检出和下载所需的内容。需要 Git v22.2+。 |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 克隆的 项目目录。 |
project assets 命令
获取项目资源,例如数据集和预训练权重。资源在 project.yml 的 assets 部分中定义。如果提供了 checksum,则仅在本地不存在具有相同 checksum 的文件时才下载该文件,并且如果下载文件的 checksum 不匹配,spaCy 将显示错误。如果资源未指定 url,则认为它们是“私有”,你必须负责将它们放入目标目录中。如果提供了本地路径,则将资源复制到当前项目。
| 名称 | 描述 |
|---|---|
project_dir | 项目目录的路径。默认为当前工作目录。 Path |
--extra, -e v3.3.1 | 下载标记为“extra”的资源。默认值为 false。 bool |
--sparse, -S | 启用 稀疏检出 以仅检出和下载所需的内容。需要 Git v22.2+。 |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 在 project.yml 中定义的下载或复制的资源。 |
project run 命令
运行在 project.yml 中定义的命名命令或工作流程。如果指定了工作流程名称,则将按顺序运行工作流程中的所有命令。如果命令定义了 依赖项或输出,则仅当状态发生更改时才会重新运行它们。例如,如果输入数据集发生更改,则依赖于这些文件的预处理命令将被重新运行。
| 名称 | 描述 |
|---|---|
subcommand | 要运行的命令或工作流程的名称。 str |
project_dir | 项目目录的路径。默认为当前工作目录。 Path |
--force, -F | 强制重新运行步骤,即使没有任何更改。 bool |
--dry, -D | 执行一次演练,不执行脚本。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| EXECUTES | 在 project.yml 中定义的命令。 |
project push 命令
将列在命令的 outputs 部分中的所有可用文件或目录上传到远程存储。在上传之前,输出将被归档和压缩,并使用输出的相对路径 (URL 编码)、命令字符串和依赖项的哈希值以及文件内容的哈希值进行寻址。这意味着 push 绝不应覆盖远程中的文件。如果所有哈希值匹配,则内容相同,并且不会发生任何事情。如果内容不同,则将上传新版本的文件。删除过时的文件由你负责。
远程仓库可以在 project.yml 文件的 remotes 部分定义。在底层,spaCy 使用 cloudpathlib 与远程存储进行通信,因此你可以使用 cloudpathlib 支持的任何协议,包括 S3、Google Cloud Storage 和本地文件系统,尽管你可能需要安装额外的依赖项才能使用某些协议。
| 名称 | 描述 |
|---|---|
remote | 要上传到的远程仓库的名称。默认为 "default"。 str |
project_dir | 项目目录的路径。默认为当前工作目录。 Path |
--help, -h | 显示帮助消息和可用参数。 bool |
| 上传文件 | 所有存在且尚未存储在远程仓库中的项目输出。 |
project pull 命令
下载作为命令的 outputs 列出的所有文件或目录,除非它们已经存在于本地。在远程仓库中搜索文件时,pull 不仅会查看输出路径,还会考虑 命令字符串 和 依赖项的哈希值。例如,假设你之前将检查点推送到远程仓库,但现在你更改了一些超参数。由于你更改了命令的输入,如果你运行 pull,你将不会检索到过时的结果。如果你训练你的管道并将输出推送到远程仓库,这些输出将与之前的输出一起保存,因此如果你将配置改回,你将能够获取结果。
远程仓库可以在 project.yml 文件的 remotes 部分定义。在底层,spaCy 使用 Pathy 与远程存储进行通信,因此你可以使用 Pathy 支持的任何协议,包括 S3、Google Cloud Storage 和本地文件系统,尽管你可能需要安装额外的依赖项才能使用某些协议。
| 名称 | 描述 |
|---|---|
remote | 要下载的远程仓库的名称。默认为 "default"。 str |
project_dir | 项目目录的路径。默认为当前工作目录。 Path |
--help, -h | 显示帮助消息和可用参数。 bool |
| 下载文件 | 所有本地不存在且可以在远程仓库中找到的项目输出。 |
project document 命令
基于其 project.yml 为你的项目自动生成一个美观的 Markdown 格式的 README。将创建文档可用命令、工作流程和资产的部分。自动生成的内容将放置在两个隐藏标记之间,以便你可以在自动生成的文档之前或之后添加自己的自定义内容。当你重新运行 project document 命令时,只有自动生成的部分会被替换。
有关更多示例,请参阅我们的 projects 仓库中的模板。

| 名称 | 描述 |
|---|---|
project_dir | 项目目录的路径。默认为当前工作目录。 Path |
--output, -o | 输出文件路径或 - 表示标准输出 (默认)。如果指定了文件并且它已经存在并且包含自动生成的文档,则仅替换自动生成的文档部分。 Path |
--no-emoji, -NE | 不在标题中使用表情符号。 bool |
| 创建 | Markdown 格式的项目文档。 |
project dvc 命令
自动生成 Data Version Control (DVC) 配置文件。在底层调用 dvc run,并使用 --no-exec 生成 dvc.yaml。DVC 项目只能定义一个管道,因此你需要指定在 project.yml 中定义的一个工作流程。如果没有指定工作流程,则使用第一个定义的工作流程。如果 project.yml 更改,DVC 配置文件才会更新。有关详细信息,请参阅 DVC 集成 文档。
| 名称 | 描述 |
|---|---|
project_dir | 项目目录的路径。默认为当前工作目录。 Path |
工作流程 | project.yml 中定义的工作流程名称。如果未设置,则默认为第一个工作流程。 Optional[str] |
--force, -F | 强制更新配置文件。 bool |
--verbose, -V | 打印 DVC 生成的更多输出。 bool |
--quiet, -q | 不打印 DVC 生成的任何输出。 bool |
--help, -h | 显示帮助消息和可用参数。 bool |
| 创建 | 一个基于给定工作流程中定义的步骤的 dvc.yaml 文件,位于项目目录中。 |
huggingface-hub v3.1
spacy huggingface-cli CLI 包含用于将训练后的 spaCy 管道上传到 Hugging Face Hub 的命令。
huggingface-hub push 命令
将 spaCy 管道推送到 Hugging Face Hub。需要使用 spacy package 和 --build wheel 打包的 .whl 文件。有关更多详细信息,请参阅 spaCy 项目的 集成。
| 名称 | 描述 |
|---|---|
whl_path | 使用 spacy package 打包的 .whl 文件的路径。 Path(位置参数) |
--org, -o | 可选的组织名称,管道应上传到该组织。 str |
--msg, -m | 用于更新的提交消息。默认为 "Update spaCy pipeline"。 str |
--verbose, -V | 输出用于调试的更多信息,例如生成的完整的 hub 元数据。 bool |
| 上传文件 | 管道推送到 hub。 |