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
廣告

© . All rights reserved.