概述

命令行界面

下载、训练和打包管道,以及调试 spaCy

spaCy 的 CLI 提供了各种有用的命令,用于下载和训练管道、转换数据和调试您的配置、数据和安装。要获取可用命令的列表,您可以键入 python -m spacy --help。您还可以将 --help 标志添加到任何命令或子命令,以查看描述、可用参数和用法。

download 命令

下载 spaCy 的 训练好的管道。下载器会找到最佳匹配的兼容版本,并使用 pip install 下载 Python 包。直接下载不执行任何兼容性检查,并且需要指定管道名称及其版本(例如 en_core_web_sm-3.0.0)。

名称描述
model管道包名称,例如 en_core_web_smstr (位置参数)
--direct, -D强制直接下载确切的包版本。 bool (标志)
--sdist, -S v3.0下载源代码包(.tar.gz 存档)而不是默认的预构建二进制 wheel。 bool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)
pip 参数附加到 pip install 的额外安装选项,在安装管道包时使用。例如,--user 以安装到用户主目录,或 --no-deps 以不安装包依赖项。 Any (选项/标志)

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 (标志)

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)。默认为 Falsebool (标志)
--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)。默认为 Falsebool (标志)
--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, -mHugging Face 模型的名称。默认值为编码器加载器配置中的模型名称。 Optional[str] (选项)
--model-revision, -rHugging Face 模型的修订版。默认值为 mainOptional[str] (选项)
--pipe-name, -n要填充配置的 Curated Transformer 管道的名称。默认值为第一个 transformer 管道。 Optional[str] (选项)
--code, -c包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] (选项)

init vectors 命令v3.0

转换 词向量 以供 spaCy 使用。将导出可在 [initialize] 块的配置中用于初始化具有向量的模型。有关在模型中使用向量的详细信息,请参阅关于 静态向量 的用法指南。

名称描述
lang管道语言 IETF 语言标签,例如 enstr (位置参数)
vectors_loc向量的位置。应该是一个文件,其中第一行包含向量的维度,后跟一个空格分隔的 Word2Vec 表。文件可以提供为 .txt 格式或作为 .zip.tar.gz 格式的压缩文本文件。 Path (位置参数)
output_dir管道输出目录。如果不存在,将创建它。 Path (位置参数)
--truncate, -t读取向量文件时要截断的向量数量。默认值为 0,表示不截断。 int (选项)
--prune, -p要修剪词汇表的向量数量。默认值为 -1,表示不修剪。 int (选项)
--mode, -m向量模式:defaultfloret。默认值为 defaultstr (选项)
--attr, -a用于向量的标记属性,例如 LOWERNORM)。默认值为 ORTHstr (选项)
--name, -n要在 meta.json 中分配给词向量的名称,例如 en_core_web_md.vectorsOptional[str] (选项)
--verbose, -V打印其他信息和解释。 bool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)

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, -gGPU ID 或 -1 表示 CPU。默认值为 -1int (选项)
--help, -h显示帮助消息和可用参数。 bool (标志)
overrides要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacyAny (选项/标志)

find-function 命令v3.7

查找给定注册函数的模块、路径和行号。此功能有助于了解在配置文件中使用的注册函数在哪里定义。

名称描述
func_name注册函数的名称。 str (位置参数)
--registry, -r目录注册表的名称。 str (选项)

convert 命令

将文件转换为 spaCy 的 二进制训练数据格式,即序列化的 DocBin,用于 train 命令和其他实验管理功能。转换器可以在命令行中指定,也可以根据输入文件的文件扩展名选择。

名称描述
input_path输入文件或目录。 Path (位置参数)
output_dir转换后文件的输出目录。默认为 "-",表示数据将被写入 stdoutOptional[Path] (可选参数)
--converter, -c要使用的转换器名称(见下文)。 str (可选参数)
--file-type, -t要创建的文件类型。可以是 spacy(默认),用于二进制 DocBin 数据,也可以是 json,用于 v2.x JSON 格式。 str (可选参数)
--n-sents, -n每个文档的句子数。支持:conllconlluiobner int (可选参数)
--seg-sents, -s分句。支持:conllner bool (标志)
--base, -b, --model用于分句的训练过的 spaCy 管道,作为基础(用于 --seg-sents)。 Optional[str] (可选参数)
--morphology, -m启用将形态学附加到标签。支持:conllu bool (标志)
--merge-subtokens, -T合并 CoNLL-U 子词元 bool (标志)
--ner-map, -nmNER 标签映射(作为 JSON 编码的实体类型字典)。支持:conllu Optional[Path] (可选参数)
--lang, -l语言代码(如果需要分词器)。 Optional[str] (可选参数)
--concatenate, -C将输出连接到单个文件 bool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)

转换器

ID描述
auto根据文件扩展名和文件内容自动选择转换器(默认)。
jsonJSON 格式的训练数据,用于 spaCy v2.x。
conlluUniversal Dependencies .conllu 格式。
ner / conll带有 IOB/IOB2/BILUO 标签的 NER,每行一个词元,列之间用空格分隔。第一列是词元,最后一列是 NER 标签。句子之间用空行分隔,文档之间用行 -DOCSTART- -X- O O 分隔。支持 CoNLL 2003 NER 格式。请参阅 示例数据
iob带有 IOB/IOB2/BILUO 标签的 NER,每行一个句子,词元之间用空格分隔,注释之间用 | 分隔,例如 word|B-ENTword|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 /pathbool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)
overrides要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacyAny (选项/标志)

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.spacyAny (选项/标志)

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)。仅在与默认配置进行比较时相关。默认为 Falsebool (标志)
markdown, -md生成用于 Github issue 的 Markdown。默认为 Falsebool (标志)

debug profile 命令

分析在 spaCy pipeline 中占用最多时间的函数。输入应格式化为每行一个 JSON 对象,并包含一个键 "text"。它可以作为 JSONL 文件提供,也可以从 sys.stdin 读取。如果没有指定输入文件,则将通过 ml_datasets 加载 IMDB 数据集。

名称描述
model可加载的 spaCy pipeline(包名称或路径)。 str (位置参数)
输入输入文件的路径,或 - 表示标准输入。 Path (位置参数)
--n-texts, -n如果可用,使用的最大文本数。默认为 10000int (可选)
--help, -h显示帮助消息和可用参数。 bool (标志)

debug model 命令v3.0

通过在样本文本上运行 Thinc Model 并检查其如何更新其内部权重和参数来调试 Thinc 模型。

在此示例日志中,我们仅在模型创建后打印每个图层的名称(“步骤 0”),这有助于我们了解神经网络的内部结构,并专注于我们想要进一步检查的特定图层(参见下一个示例)。

在此示例日志中,我们看到模型初始化(步骤 1)传播了各个图层的正确 nI(输入)和 nO(输出)维度值。在 softmax 图层中,此步骤还根据 nOnI 维度定义了 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, -gGPU ID 或 -1 表示 CPU。默认值为 -1int (选项)
--help, -h显示帮助消息和可用参数。 bool (标志)
overrides要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacyAny (选项/标志)

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.spacyAny (选项/标志)

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, -gGPU ID 或 -1 表示 CPU。默认值为 -1int (选项)
--help, -h显示帮助消息和可用参数。 bool (标志)
overrides要覆盖的配置参数。应该是以 -- 开头的选项,对应于要覆盖的配置部分和值,例如 --paths.train ./train.spacyAny (选项/标志)

从 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, -gGPU ID 或 -1 表示 CPU。默认值为 -1int (选项)
--skip-last, -L v3.5.2跳过保存model-last.bin。默认值为Falsebool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)
overrides要覆盖的配置参数。应该是以--开头的选项,对应于要覆盖的配置部分和值,例如--training.dropout 0.2Any (选项/标志)

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_pathspaCy二进制格式中评估数据的路径。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是否按组件名称返回分数。默认值为Falsebool (标志)
--spans-key, -sk v3.6.2评估Doc.spans时使用的 spans key。默认值为scstr (选项)
--help, -h显示帮助消息和可用参数。 bool (标志)

speed 命令v3.5

基准测试训练好的 pipeline 的速度,并提供 95% 的置信区间。需要一个可加载的 spaCy pipeline(包名或路径)和二进制.spacy格式的基准测试数据。在进行任何测量之前,pipeline 会被预热。

名称描述
model要基准测试速度的 pipeline。可以是包或数据目录的路径。str (位置参数)
data_pathspaCy二进制格式中基准测试数据的路径。Path (位置参数)
--code, -c包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] (选项)
--batch-size, -b设置批处理大小。如果未设置,则使用 pipeline 的批处理大小。Optional[int] (选项)
--no-shuffle不要在基准数据集中的文档中进行洗牌。 bool (标志)
--gpu-id, -g要使用的 GPU(如果有)。默认值为-1,表示 CPU。int (选项)
--batches在基准测试中使用的批次数。默认值为 50Optional[int] (选项)
--warmup, -w用于预热的基准数据集上的迭代次数。默认值为 3 Optional[int] (选项)
--help, -h显示帮助消息和可用参数。 bool (标志)

apply 命令v3.5

将训练好的管道应用于数据,并将生成的标注文档存储在 DocBin 中。输入可以是单个文件或目录。识别的输入格式是

  1. .spacy
  2. .jsonl 包含用户指定的 text_key
  3. 具有任何其他扩展名的文件被假定为包含单个文档的纯文本文件。

如果提供目录,则递归遍历该目录以收集所有文件。

加载 .spacy 文件时,存储在 Doc 上的任何未被管道覆盖的潜在标注都将被保留。如果您只想在原始文本上评估管道,请确保 .spacy 文件不包含任何标注。

名称描述
model应用于数据的管道。可以是包或指向数据目录的路径。 str (位置参数)
data_path要在 spaCy 的 二进制格式、jsonl 或纯文本中评估的数据的位置。 Path (位置参数)
output-file输出 DocBin 路径。 str (位置参数)
--code, -c包含要导入的额外代码的 Python 文件的路径。允许 注册自定义函数以用于新的架构。 Optional[Path] (选项)
--text-key, -tk用于从 .jsonl 文件中提取文本的键。默认值为 textOptional[str] (选项)
--force-overwrite, -F如果提供的 output-file 已经存在,则强制 apply 覆盖它。如果为 False (默认值),则会显示警告并退出。 bool (标志)
--gpu-id, -g要使用的 GPU(如果有)。默认值为-1,表示 CPU。int (选项)
--batch-size, -b用于预测的批处理大小。默认值为 1int (选项)
--n-process, -n用于预测的进程数。默认值为 1int (选项)
--help, -h显示帮助消息和可用参数。 bool (标志)

find-threshold 命令v3.5

针对训练好的模型运行预测试验,并根据指定的指标最大化不同的阈值。阈值的搜索空间在 n_trials 步中从 0 到 1 线性遍历。结果以表格形式显示在 stdout 上(相应的 API 调用 spacy.cli.find_threshold.find_threshold() 返回所有结果)。

这仅适用于受阈值影响的组件的预测 - 例如 textcat_multilabelspancat,但不适用于 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 ./dataAny (选项/标志)

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, -mmeta.json 文件的路径 (可选)。 Optional[Path] (选项)
--create-meta, -C即使目录中已经存在一个 meta.json 文件,也创建一个 meta.json 文件。如果找到现有文件,其条目将作为命令行提示符中的默认值显示。 bool (标志)
--build, -b v3.0要构建的工件格式,用逗号分隔。可以是 sdist (用于 .tar.gz 归档文件) 和/或 wheel (用于二进制 .whl 文件),或者 none 如果你想手动执行此步骤。生成的工件可以通过 pip install 安装。默认值为 sdiststr (选项)
--name, -n v3.0要覆盖 meta 中的包名称。 Optional[str] (选项)
--version, -v v3.0要覆盖 meta 中的包版本。在训练新版本时很有用,因为它不需要编辑 meta 模板。 Optional[str] (选项)
--force, -f强制覆盖输出目录中现有的文件夹。 bool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)

project v3.0

spacy project CLI 包含用于处理 spaCy 项目 的子命令,用于构建和部署自定义 spaCy pipeline 的端到端工作流程。

project clone 命令

从 Git 仓库克隆项目模板。在底层调用 git,如果可用,可以使用稀疏检出功能,因此你只需下载所需的内容。默认情况下,使用 spaCy 的 项目模板仓库,但你可以使用任何其他你可以访问的仓库 (公共或私有) 通过 --repo 选项。

名称描述
name要克隆的模板名称,相对于仓库。可以是顶层目录或子目录,例如 dir/templatestr (位置参数)
dest克隆项目的目标位置。默认为当前工作目录。 Path (位置参数)
--repo, -r要克隆的仓库。可以是你可以访问的任何公共或私有 Git 仓库。 str (选项)
--branch, -b要克隆的分支。默认为 masterstr (选项)
--sparse, -S启用 稀疏检出 以仅检出和下载所需的内容。需要 Git v22.2+。
--help, -h显示帮助消息和可用参数。 bool (标志)

project assets 命令

获取项目资源,例如数据集和预训练权重。资源在 project.ymlassets 部分中定义。如果提供了 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 run 命令

运行在 project.yml 中定义的命名命令或工作流程。如果指定了工作流程名称,则将按顺序运行工作流程中的所有命令。如果命令定义了 依赖项或输出,则仅当状态发生更改时才会重新运行它们。例如,如果输入数据集发生更改,则依赖于这些文件的预处理命令将被重新运行。

名称描述
subcommand要运行的命令或工作流程的名称。 str (位置参数)
project_dir项目目录的路径。默认为当前工作目录。 Path (位置参数)
--force, -F强制重新运行步骤,即使没有任何更改。 bool (标志)
--dry, -D执行一次演练,不执行脚本。 bool (标志)
--help, -h显示帮助消息和可用参数。 bool (标志)

project push 命令

将列在命令的 outputs 部分中的所有可用文件或目录上传到远程存储。在上传之前,输出将被归档和压缩,并使用输出的相对路径 (URL 编码)、命令字符串和依赖项的哈希值以及文件内容的哈希值进行寻址。这意味着 push 绝不应覆盖远程中的文件。如果所有哈希值匹配,则内容相同,并且不会发生任何事情。如果内容不同,则将上传新版本的文件。删除过时的文件由你负责。

远程仓库可以在 project.yml 文件的 remotes 部分定义。在底层,spaCy 使用 cloudpathlib 与远程存储进行通信,因此你可以使用 cloudpathlib 支持的任何协议,包括 S3Google Cloud Storage 和本地文件系统,尽管你可能需要安装额外的依赖项才能使用某些协议。

名称描述
remote要上传到的远程仓库的名称。默认为 "default"str (位置参数)
project_dir项目目录的路径。默认为当前工作目录。 Path (位置参数)
--help, -h显示帮助消息和可用参数。 bool (标志)

project pull 命令

下载作为命令的 outputs 列出的所有文件或目录,除非它们已经存在于本地。在远程仓库中搜索文件时,pull 不仅会查看输出路径,还会考虑 命令字符串依赖项的哈希值。例如,假设你之前将检查点推送到远程仓库,但现在你更改了一些超参数。由于你更改了命令的输入,如果你运行 pull,你将不会检索到过时的结果。如果你训练你的管道并将输出推送到远程仓库,这些输出将与之前的输出一起保存,因此如果你将配置改回,你将能够获取结果。

远程仓库可以在 project.yml 文件的 remotes 部分定义。在底层,spaCy 使用 Pathy 与远程存储进行通信,因此你可以使用 Pathy 支持的任何协议,包括 S3Google Cloud Storage 和本地文件系统,尽管你可能需要安装额外的依赖项才能使用某些协议。

名称描述
remote要下载的远程仓库的名称。默认为 "default"str (位置参数)
project_dir项目目录的路径。默认为当前工作目录。 Path (位置参数)
--help, -h显示帮助消息和可用参数。 bool (标志)

project document 命令

基于其 project.yml 为你的项目自动生成一个美观的 Markdown 格式的 README。将创建文档可用命令、工作流程和资产的部分。自动生成的内容将放置在两个隐藏标记之间,以便你可以在自动生成的文档之前或之后添加自己的自定义内容。当你重新运行 project document 命令时,只有自动生成的部分会被替换。

有关更多示例,请参阅我们的 projects 仓库中的模板。

Screenshot of auto-generated Markdown Readme
名称描述
project_dir项目目录的路径。默认为当前工作目录。 Path (位置参数)
--output, -o输出文件路径或 - 表示标准输出 (默认)。如果指定了文件并且它已经存在并且包含自动生成的文档,则仅替换自动生成的文档部分。 Path (位置参数)
--no-emoji, -NE不在标题中使用表情符号。 bool (标志)

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 (标志)

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 (标志)