SetFit 文件

訓練器類

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

訓練器類

TrainingArguments

setfit.TrainingArguments

< >

( output_dir: str = 'checkpoints' batch_size: Union[int, Tuple[int, int]] = (16, 2) num_epochs: Union[int, Tuple[int, int]] = (1, 16) max_steps: int = -1 sampling_strategy: str = 'oversampling' num_iterations: Optional[int] = None body_learning_rate: Union[float, Tuple[float, float]] = (2e-05, 1e-05) head_learning_rate: float = 0.01 loss: Callable = <class 'sentence_transformers.losses.CosineSimilarityLoss.CosineSimilarityLoss'> distance_metric: Callable = <function BatchHardTripletLossDistanceFunction.cosine_distance at 0x7f2cdea71ea0> margin: float = 0.25 end_to_end: bool = False use_amp: bool = False warmup_proportion: float = 0.1 l2_weight: Optional[float] = 0.01 max_length: Optional[int] = None samples_per_label: int = 2 show_progress_bar: bool = True seed: int = 42 report_to: str = 'all' run_name: Optional[str] = None logging_dir: Optional[str] = None logging_strategy: str = 'steps' logging_first_step: bool = True logging_steps: int = 50 eval_strategy: str = 'no' evaluation_strategy: Optional[str] = None eval_steps: Optional[int] = None eval_delay: int = 0 eval_max_steps: int = -1 save_strategy: str = 'steps' save_steps: int = 500 save_total_limit: Optional[int] = 1 load_best_model_at_end: bool = False metric_for_best_model: Optional[str] = 'embedding_loss' greater_is_better: bool = False )

引數

  • output_dir (str, 預設為 "checkpoints") — 模型預測和檢查點將被寫入的輸出目錄。
  • batch_size (Union[int, Tuple[int, int]], 預設為 (16, 2)) — 分別設定嵌入和分類器訓練階段的批次大小,如果提供整數則設定兩者。請注意,分類器的批次大小僅在可微分 PyTorch 頭中使用。
  • num_epochs (Union[int, Tuple[int, int]], 預設為 (1, 16)) — 分別設定嵌入和分類器訓練階段的 epoch 數,如果提供整數則設定兩者。請注意,分類器的 epoch 數僅在可微分 PyTorch 頭中使用。
  • max_steps (int, 預設為 -1) — 如果設定為正數,則為要執行的訓練總步數。覆蓋 num_epochs。當所有資料耗盡時,訓練可能會在達到設定的步數之前停止。
  • sampling_strategy (str, 預設為 "oversampling") — 訓練中如何抽取對的取樣策略。可能的值有:

    • "oversampling":抽取偶數個正/負句子對,直到每個句子對都被抽取。
    • "undersampling":抽取最少數量的正/負句子對,直到少數類中的每個句子對都被抽取。
    • "unique":抽取所有句子對組合(可能導致正/負句子對數量不平衡)。

    預設設定為"oversampling",確保所有句子對至少被抽取一次。或者,設定num_iterations將覆蓋此引數並確定生成的句子對的數量。

  • num_iterations (int, 可選) — 如果未設定,sampling_strategy將決定要生成的句子對的數量。此引數設定生成句子對的迭代次數,並與Setfit 相容。如果使用三元組損失,此引數將被忽略。它僅與CosineSimilarityLoss一起使用。
  • head_learning_rate (float, 預設為 1e-2) — 設定分類器訓練階段的頭部學習率。僅與可微分 PyTorch 頭一起使用。
  • distance_metric (Callable, 預設為 BatchHardTripletLossDistanceFunction.cosine_distance) — 返回兩個嵌入之間距離的函式。它用於三元組損失,對於CosineSimilarityLossSupConLoss則被忽略。
  • end_to_end (bool, 預設為 False) — 如果為 True,則在分類器訓練階段對整個模型進行端到端訓練。否則,凍結SentenceTransformer主體並僅訓練頭部。僅與可微分 PyTorch 頭一起使用。
  • warmup_proportion (float, 預設為 0.1) — 預熱佔總訓練步數的比例。必須大於或等於 0.0 且小於或等於 1.0。
  • l2_weight (float, 可選) — 可選的 l2 權重,用於模型主體和頭部,在分類器訓練階段如果使用可微分 PyTorch 頭,則將其傳遞給 AdamW 最佳化器。
  • max_length (int, 可選) — 標記器可以生成的最大令牌長度。如果未提供,將使用SentenceTransformer主體的最大長度。
  • samples_per_label (int, 預設為 2) — 每個標籤連續、隨機且唯一的樣本數。這僅與三元組損失相關,對於CosineSimilarityLoss則被忽略。批次大小應為 samples_per_label 的倍數。
  • seed (int, 預設為 42) — 將在訓練開始時設定的隨機種子。為了確保跨執行的可復現性,如果模型有一些隨機初始化的引數,請使用Trainermodel_init引數來例項化模型。
  • "azure_ml""comet_ml""mlflow""neptune""tensorboard""clearml""wandb"。使用 "all" 報告給所有已安裝的整合,"none" 表示不整合。
  • mlflow 日誌記錄。
  • 日誌目錄。預設為 *runs/CURRENT_DATETIME_HOSTNAME*
    • "no": 訓練期間不進行日誌記錄。
    • "epoch": 在每個 epoch 結束時進行日誌記錄。
    • "steps": 每 logging_steps 進行日誌記錄。
  • logging_steps (int, 預設為 50) — 如果logging_strategy="steps",兩次日誌之間更新步數。
    • "no": 訓練期間不進行評估。
    • "steps": 每 eval_steps 進行評估(並記錄)。
    • "epoch": 在每個 epoch 結束時進行評估。
  • logging_steps相同的值。
  • eval_delay (float, 可選) — 在進行第一次評估之前等待的 epoch 或步數,具體取決於 eval_strategy。
  • eval_max_steps (int, 預設為 -1) — 如果設定為正數,則為要執行的評估總步數。當所有資料耗盡時,評估可能會在達到設定的步數之前停止。
    • "no": 訓練期間不儲存。
    • "epoch": 在每個 epoch 結束時儲存。
    • "steps": 每 save_steps 儲存。
  • save_total_limit (int, 可選, 預設為 1) — 如果傳入值,將限制檢查點總數。刪除output_dir中較舊的檢查點。請注意,如果eval_strategy不是"no",則始終保留最佳模型。
  • load_best_model_at_end (bool, 可選, 預設為 False) — 訓練結束時是否載入訓練期間找到的最佳模型。

    當設定為True時,引數save_strategy需要與eval_strategy相同,如果是“steps”,則save_steps必須是eval_steps的整數倍。

TrainingArguments 是與訓練迴圈本身相關的引數子集。請注意,SetFit 的訓練在幕後包含兩個階段:微調嵌入訓練分類頭。因此,某些訓練引數可以是元組,其中兩個值分別用於兩個階段。第二個值通常僅在使用use_differentiable_head=True載入模型時才使用。

to_dict

( ) Dict[str, Any]

返回

Dict[str, Any]

此資料類的字典變體。

將此例項轉換為字典。

from_dict

( arguments: Dict[str, Any] ignore_extra: bool = False ) TrainingArguments

例項化的 TrainingArguments 例項。

從字典初始化 TrainingArguments 例項。

建立此 TrainingArguments 例項的淺複製。

更新

( arguments: Dict[str, Any] ignore_extra: bool = False )

setfit.Trainer

( model: typing.Optional[ForwardRef('SetFitModel')] = None args: typing.Optional[setfit.training_args.TrainingArguments] = None train_dataset: typing.Optional[ForwardRef('Dataset')] = None eval_dataset: typing.Optional[ForwardRef('Dataset')] = None model_init: typing.Optional[typing.Callable[[], ForwardRef('SetFitModel')]] = None metric: typing.Union[str, typing.Callable[[ForwardRef('Dataset'), ForwardRef('Dataset')], typing.Dict[str, float]]] = 'accuracy' metric_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None callbacks: typing.Optional[typing.List[transformers.trainer_callback.TrainerCallback]] = None column_mapping: typing.Optional[typing.Dict[str, str]] = None )

引數

  • train_dataset (Dataset) — 訓練資料集。
  • eval_dataset (Dataset, 可選) — 評估資料集。
  • 都將從該函式給定的新模型例項開始,當傳入trial時。
  • metric (strCallable可選,預設為 "accuracy") — 用於評估的指標。如果提供了字串,我們將其視為指標名稱並使用預設設定載入。如果提供了可呼叫物件,它必須接受兩個引數 (y_pred, y_test) 並返回一個字典,其中包含指標鍵和值。
  • metric_kwargs (Dict[str, Any]可選) — 傳遞給評估函式(如果 metric 是諸如“f1”之類的評估字串)的關鍵字引數。例如,在多標籤設定中,對於計算 f1 提供平均策略很有用。
  • callbacks (List[``TrainerCallback``]可選) — 自定義訓練迴圈的回撥列表。這將新增到 此處 詳述的預設回撥列表中。如果要刪除使用的預設回撥之一,請使用 Trainer.remove_callback() 方法。
  • column_mapping (Dict[str, str]可選) — 資料集中列名到模型所需列名的對映。預期格式為 {"text_column_name": "text", "label_column_name": "label"}

用於訓練 SetFit 模型的訓練器。

add_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] )

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將例項化該類的一個成員。

將回調新增到當前 TrainerCallback 列表中。

apply_hyperparameters

< >

( params: typing.Dict[str, typing.Any] final_model: bool = False )

引數

  • params (Dict[str, Any]) — 引數,通常來自 BestRun.hyperparameters
  • final_model (bool可選,預設為 False) — 如果為 True,則將 model_init() 函式替換為基於引數的固定模型。

將超引數字典應用於訓練器和模型

評估

< >

( dataset: typing.Optional[datasets.arrow_dataset.Dataset] = None metric_key_prefix: str = 'test' ) Dict[str, float]

引數

  • dataset (Dataset可選) — 用於計算指標的資料集。如果未提供,將使用在 Trainer 初始化時透過 eval_dataset 引數傳遞的評估資料集。

返回

Dict[str, float]

評估指標。

計算給定分類器的指標。

hyperparameter_search

< >

( hp_space: typing.Optional[typing.Callable[[ForwardRef('optuna.Trial')], typing.Dict[str, float]]] = None compute_objective: typing.Optional[typing.Callable[[typing.Dict[str, float]], float]] = None n_trials: int = 10 direction: str = 'maximize' backend: typing.Union[ForwardRef('str'), transformers.trainer_utils.HPSearchBackend, NoneType] = None hp_name: typing.Optional[typing.Callable[[ForwardRef('optuna.Trial')], str]] = None **kwargs ) trainer_utils.BestRun

引數

  • hp_space (Callable[["optuna.Trial"], Dict[str, float]]可選) — 定義超引數搜尋空間的函式。預設為 default_hp_space_optuna
  • compute_objective (Callable[[Dict[str, float]], float]可選) — 一個函式,根據 evaluate 方法返回的指標計算要最小化或最大化的目標。預設為 default_compute_objective,它使用指標的總和。
  • n_trials (int可選,預設為 100) — 要測試的試驗執行次數。
  • direction (str可選,預設為 "maximize") — 是最佳化更高值還是更低值。可以是 "minimize""maximize",最佳化驗證損失時應選擇 "minimize",最佳化一個或多個指標時選擇 "maximize"
  • backend (strHPSearchBackend可選) — 用於超引數搜尋的後端。目前僅支援 optuna。TODO:新增對 ray 和 sigopt 的支援。
  • hp_name (Callable[["optuna.Trial"], str]]可選) — 定義試驗/執行名稱的函式。預設為 None。
  • kwargs (Dict[str, Any]可選) — 傳遞給 optuna.create_study 的附加關鍵字引數。有關更多資訊,請參閱:

返回

trainer_utils.BestRun

關於最佳執行的所有資訊。

使用 optuna 啟動超引數搜尋。最佳化量由 compute_objective 確定,預設情況下,如果沒有提供指標,則返回評估損失,否則返回所有指標的總和。

要使用此方法,您需要在初始化 Trainer 時提供 model_init:我們需要在每次新執行時重新初始化模型。

pop_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] ) TrainerCallback

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將從回撥列表中找到的該類的第一個成員中彈出。

返回

TrainerCallback

如果找到,則刪除回撥。

從當前 TrainerCallback 列表中刪除回撥並返回它。

如果未找到回撥,則返回 None(並且不會引發錯誤)。

push_to_hub

< >

( repo_id: str **kwargs ) str

引數

  • repo_id (str) — 要推送到的完整倉庫 ID,例如 "tomaarsen/setfit-sst2"
  • config (dict可選) — 與模型權重一起儲存的配置物件。
  • commit_message (str可選) — 推送時提交的訊息。
  • private (bool可選) — 是否將倉庫設為私有。如果為 None(預設),除非組織的預設設定為私有,否則倉庫將是公共的。如果倉庫已存在,此值將被忽略。
  • api_endpoint (str可選) — 推送模型到 Hub 時使用的 API 終結點。
  • token (str可選) — 用作遠端檔案 HTTP 持有者授權的令牌。如果未設定,將使用透過 transformers-cli login 登入時設定的令牌(儲存在 ~/.huggingface 中)。
  • branch (str可選) — 將模型推送到的 git 分支。預設為倉庫中指定的預設分支,即 "main"
  • create_pr (boolean可選) — 是否從 branch 建立一個包含該提交的拉取請求。預設為 False
  • allow_patterns (List[str]str可選) — 如果提供,則只推送與至少一個模式匹配的檔案。
  • ignore_patterns (List[str]str可選) — 如果提供,則不推送與任何模式匹配的檔案。

返回

字串

模型在給定倉庫中的提交 URL。

使用 huggingface_hub 將模型檢查點上傳到 Hub。

有關 huggingface_hub 版本的完整引數列表,請參閱 huggingface_hub 文件

remove_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] )

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將從回撥列表中找到的該類的第一個成員中移除。

從當前 TrainerCallback 列表中刪除回撥。

train

< >

( args: typing.Optional[setfit.training_args.TrainingArguments] = None trial: typing.Union[ForwardRef('optuna.Trial'), typing.Dict[str, typing.Any], NoneType] = None **kwargs )

引數

  • args (TrainingArguments可選) — 臨時更改此訓練呼叫的訓練引數。
  • trial (optuna.TrialDict[str, Any]可選) — 用於超引數搜尋的試驗執行或超引數字典。

主訓練入口點。

train_classifier

< >

( x_train: typing.List[str] y_train: typing.Union[typing.List[int], typing.List[typing.List[int]]] args: typing.Optional[setfit.training_args.TrainingArguments] = None )

引數

  • x_train (List[str]) — 訓練句子的列表。
  • y_train (Union[List[int], List[List[int]]]) — 與訓練句子對應的標籤列表。
  • args (TrainingArguments可選) — 臨時更改此訓練呼叫的訓練引數。

執行分類器階段的方法:擬合分類器頭部。

train_embeddings

< >

( x_train: typing.List[str] y_train: typing.Union[typing.List[int], typing.List[typing.List[int]], NoneType] = None x_eval: typing.Optional[typing.List[str]] = None y_eval: typing.Union[typing.List[int], typing.List[typing.List[int]], NoneType] = None args: typing.Optional[setfit.training_args.TrainingArguments] = None )

引數

  • x_train (List[str]) — 訓練句子的列表。
  • y_train (Union[List[int], List[List[int]]]) — 與訓練句子對應的標籤列表。
  • args (TrainingArguments可選) — 臨時更改此訓練呼叫的訓練引數。

執行嵌入階段的方法:微調 SentenceTransformer 主體。

DistillationTrainer

class setfit.DistillationTrainer

< >

( teacher_model: SetFitModel student_model: typing.Optional[ForwardRef('SetFitModel')] = None args: TrainingArguments = None train_dataset: typing.Optional[ForwardRef('Dataset')] = None eval_dataset: typing.Optional[ForwardRef('Dataset')] = None model_init: typing.Optional[typing.Callable[[], ForwardRef('SetFitModel')]] = None metric: typing.Union[str, typing.Callable[[ForwardRef('Dataset'), ForwardRef('Dataset')], typing.Dict[str, float]]] = 'accuracy' column_mapping: typing.Optional[typing.Dict[str, str]] = None )

引數

  • teacher_model (SetFitModel) — 要模仿的教師模型。
  • student_model (SetFitModel可選) — 要訓練的模型。如果未提供,則必須傳遞 model_init
  • args (TrainingArguments可選) — 要使用的訓練引數。
  • train_dataset (Dataset) — 訓練資料集。
  • eval_dataset (Dataset可選) — 評估資料集。
  • model_init (Callable[[], SetFitModel]可選) — 例項化要使用的模型的函式。如果提供,每次呼叫 train() 都將從該函式提供的模型新例項開始,當傳遞 trial 時。
  • metric (strCallable, 可選, 預設為 "accuracy") — 用於評估的指標。如果提供字串,則將其視為指標名稱並使用預設設定載入。如果提供可呼叫物件,則它必須接受兩個引數 (y_pred, y_test)。
  • column_mapping (Dict[str, str], 可選) — 資料集中列名到模型所需列名的對映。預期格式為包含以下格式的字典:{"text_column_name": "text", "label_column_name": "label"}

使用知識蒸餾壓縮 SetFit 模型的訓練器。

add_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] )

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將例項化該類的一個成員。

將回調新增到當前 TrainerCallback 列表中。

apply_hyperparameters

< >

( params: typing.Dict[str, typing.Any] final_model: bool = False )

引數

  • params (Dict[str, Any]) — 引數,通常來自 BestRun.hyperparameters
  • final_model (bool, 可選, 預設為 False) — 如果為 True,則將 model_init() 函式替換為基於引數的固定模型。

將超引數字典應用於訓練器和模型

評估

< >

( dataset: typing.Optional[datasets.arrow_dataset.Dataset] = None metric_key_prefix: str = 'test' ) Dict[str, float]

引數

  • dataset (Dataset, 可選) — 用於計算指標的資料集。如果未提供,將使用在 Trainer 初始化時透過 eval_dataset 引數傳入的評估資料集。

返回

Dict[str, float]

評估指標。

計算給定分類器的指標。

hyperparameter_search

< >

( hp_space: typing.Optional[typing.Callable[[ForwardRef('optuna.Trial')], typing.Dict[str, float]]] = None compute_objective: typing.Optional[typing.Callable[[typing.Dict[str, float]], float]] = None n_trials: int = 10 direction: str = 'maximize' backend: typing.Union[ForwardRef('str'), transformers.trainer_utils.HPSearchBackend, NoneType] = None hp_name: typing.Optional[typing.Callable[[ForwardRef('optuna.Trial')], str]] = None **kwargs ) trainer_utils.BestRun

引數

  • hp_space (Callable[["optuna.Trial"], Dict[str, float]], 可選) — 定義超引數搜尋空間的函式。預設為 default_hp_space_optuna
  • compute_objective (Callable[[Dict[str, float]], float], 可選) — 一個函式,用於根據 evaluate 方法返回的指標計算要最小化或最大化的目標。預設為 default_compute_objective,它使用指標的總和。
  • n_trials (int, 可選, 預設為 100) — 要測試的試驗執行次數。
  • direction (str, 可選, 預設為 "maximize") — 是最佳化更大還是更小的目標。可以是 "minimize""maximize",在最佳化驗證損失時應選擇 "minimize",在最佳化一個或多個指標時應選擇 "maximize"
  • backend (strHPSearchBackend, 可選) — 用於超引數搜尋的後端。目前僅支援 optuna。TODO: 新增對 ray 和 sigopt 的支援。
  • hp_name (Callable[["optuna.Trial"], str]], 可選) — 定義試驗/執行名稱的函式。預設為 None。
  • kwargs (Dict[str, Any], 可選) — 傳遞給 optuna.create_study 的額外關鍵字引數。更多資訊請參閱:

返回

trainer_utils.BestRun

關於最佳執行的所有資訊。

使用 optuna 啟動超引數搜尋。最佳化量由 compute_objective 確定,預設情況下,如果沒有提供指標,則返回評估損失,否則返回所有指標的總和。

要使用此方法,您需要在初始化 Trainer 時提供 model_init:我們需要在每次新執行時重新初始化模型。

pop_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] ) TrainerCallback

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將從回撥列表中刪除找到的該類的第一個成員。

返回

TrainerCallback

如果找到,則刪除回撥。

從當前 TrainerCallback 列表中刪除回撥並返回它。

如果未找到回撥,則返回 None(並且不會引發錯誤)。

push_to_hub

< >

( repo_id: str **kwargs ) str

引數

  • repo_id (str) — 要推送到的完整倉庫 ID,例如 "tomaarsen/setfit-sst2"
  • config (dict, 可選) — 要與模型權重一起儲存的配置物件。
  • commit_message (str, 可選) — 推送時提交的訊息。
  • private (bool, 可選) — 是否將倉庫設為私有。如果為 None(預設),則除非組織預設設定為私有,否則倉庫將是公共的。如果倉庫已存在,則此值將被忽略。
  • api_endpoint (str, 可選) — 將模型推送到 Hub 時使用的 API 端點。
  • token (str, 可選) — 用作遠端檔案 HTTP bearer 授權的 token。如果未設定,將使用透過 transformers-cli login 登入時設定的 token(儲存在 ~/.huggingface 中)。
  • branch (str, 可選) — 推送模型的 git 分支。預設為倉庫中指定的預設分支,即 "main"
  • create_pr (boolean, 可選) — 是否從 branch 建立一個包含該提交的 Pull Request。預設為 False
  • allow_patterns (List[str]str, 可選) — 如果提供,則只推送至少匹配一個模式的檔案。
  • ignore_patterns (List[str]str, 可選) — 如果提供,則不推送匹配任何模式的檔案。

返回

字串

模型在給定倉庫中的提交 URL。

使用 huggingface_hub 將模型檢查點上傳到 Hub。

有關 huggingface_hub 版本的完整引數列表,請參閱 huggingface_hub 文件

remove_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] )

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將從回撥列表中刪除找到的該類的第一個成員。

從當前 TrainerCallback 列表中刪除回撥。

train

< >

( args: typing.Optional[setfit.training_args.TrainingArguments] = None trial: typing.Union[ForwardRef('optuna.Trial'), typing.Dict[str, typing.Any], NoneType] = None **kwargs )

引數

  • args (TrainingArguments, 可選) — 臨時更改此訓練呼叫的訓練引數。
  • trial (optuna.TrialDict[str, Any], 可選) — 試驗執行或用於超引數搜尋的超引數字典。

主訓練入口點。

train_classifier

< >

( x_train: typing.List[str] args: typing.Optional[setfit.training_args.TrainingArguments] = None )

引數

  • x_train (List[str]) — 訓練句子列表。
  • args (TrainingArguments, 可選) — 臨時更改此訓練呼叫的訓練引數。

執行分類器階段的方法:擬合學生分類器頭。

train_embeddings

< >

( x_train: typing.List[str] y_train: typing.Union[typing.List[int], typing.List[typing.List[int]], NoneType] = None x_eval: typing.Optional[typing.List[str]] = None y_eval: typing.Union[typing.List[int], typing.List[typing.List[int]], NoneType] = None args: typing.Optional[setfit.training_args.TrainingArguments] = None )

引數

  • x_train (List[str]) — 訓練句子列表。
  • y_train (Union[List[int], List[List[int]]]) — 與訓練句子對應的標籤列表。
  • args (TrainingArguments, 可選) — 臨時更改此訓練呼叫的訓練引數。

執行嵌入階段的方法:微調 SentenceTransformer 主體。

AbsaTrainer

class setfit.AbsaTrainer

< >

( model: AbsaModel args: typing.Optional[setfit.training_args.TrainingArguments] = None polarity_args: typing.Optional[setfit.training_args.TrainingArguments] = None train_dataset: typing.Optional[ForwardRef('Dataset')] = None eval_dataset: typing.Optional[ForwardRef('Dataset')] = None metric: typing.Union[str, typing.Callable[[ForwardRef('Dataset'), ForwardRef('Dataset')], typing.Dict[str, float]]] = 'accuracy' metric_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None callbacks: typing.Optional[typing.List[transformers.trainer_callback.TrainerCallback]] = None column_mapping: typing.Optional[typing.Dict[str, str]] = None )

引數

  • model (AbsaModel) — 要訓練的 AbsaModel 模型。
  • args (TrainingArguments, 可選) — 要使用的訓練引數。如果未定義 polarity_args,則 args 將同時用於方面模型和極性模型。
  • polarity_args (TrainingArguments, 可選) — 用於極性模型的訓練引數。如果未定義,則 args 將同時用於方面模型和極性模型。
  • train_dataset (Dataset) — 訓練資料集。資料集必須包含“text”、“span”、“label”和“ordinal”列。
  • eval_dataset (Dataset, 可選) — 評估資料集。資料集必須包含“text”、“span”、“label”和“ordinal”列。
  • metric (strCallable, 可選, 預設為 "accuracy") — 用於評估的指標。如果提供字串,則將其視為指標名稱並使用預設設定載入。如果提供可呼叫物件,則它必須接受兩個引數 (y_pred, y_test)。
  • metric_kwargs (Dict[str, Any], 可選) — 如果 metric 是“f1”等評估字串,則傳遞給評估函式的關鍵字引數。例如,對於多標籤設定中計算 f1 的平均策略很有用。
  • callbacks (List[``TrainerCallback``], 可選) — 用於自定義訓練迴圈的回撥列表。這將新增到 此處 詳細介紹的預設回撥列表中。如果要刪除使用的預設回撥之一,請使用 Trainer.remove_callback() 方法。
  • column_mapping (Dict[str, str], 可選) — 資料集中列名到模型所需列名的對映。預期格式為包含以下格式的字典:{"text_column_name": "text", "span_column_name": "span", "label_column_name: "label", "ordinal_column_name": "ordinal"}

訓練 SetFit ABSA 模型的訓練器。

add_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] )

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將例項化該類的一個成員。

將回調新增到當前 TrainerCallback 列表中。

評估

< >

( dataset: typing.Optional[datasets.arrow_dataset.Dataset] = None ) Dict[str, Dict[str, float]]

引數

  • dataset (Dataset, 可選) — 用於計算指標的資料集。如果未提供,將使用在 Trainer 初始化時透過 eval_dataset 引數傳入的評估資料集。

返回

Dict[str, Dict[str, float]]

評估指標。

計算給定分類器的指標。

pop_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] ) Tuple[``TrainerCallback, TrainerCallback``]

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將從回撥列表中刪除找到的該類的第一個成員。

返回

Tuple[``TrainerCallback, TrainerCallback``]

從方面和極性訓練器中移除的回撥(如果找到)。

從當前 TrainerCallback 列表中刪除回撥並返回它。

如果未找到回撥,則返回 None(並且不會引發錯誤)。

push_to_hub

< >

( repo_id: str polarity_repo_id: typing.Optional[str] = None **kwargs )

引數

  • repo_id (str) — 要推送到的完整倉庫 ID,例如 "tomaarsen/setfit-aspect"
  • repo_id (str) — 要推送到的完整倉庫 ID,例如 "tomaarsen/setfit-sst2"
  • config (dict, 可選) — 要與模型權重一起儲存的配置物件。
  • commit_message (str, 可選) — 推送時提交的訊息。
  • private (bool, 可選) — 是否將倉庫設為私有。如果為 None(預設),則除非組織的預設設定為私有,否則倉庫將是公開的。如果倉庫已存在,此值將被忽略。
  • api_endpoint (str, 可選) — 將模型推送到 Hub 時使用的 API 終點。
  • token (str, 可選) — 用作遠端檔案 HTTP 承載授權的令牌。如果未設定,將使用透過 transformers-cli login 登入時設定的令牌(儲存在 ~/.huggingface 中)。
  • branch (str, 可選) — 推送模型的 git 分支。預設為倉庫中指定的預設分支,即 "main"
  • create_pr (boolean, 可選) — 是否從 branch 建立一個包含該提交的拉取請求。預設為 False
  • allow_patterns (List[str]str, 可選) — 如果提供,則只推送與至少一個模式匹配的檔案。
  • ignore_patterns (List[str]str, 可選) — 如果提供,則不推送與任何模式匹配的檔案。

使用 huggingface_hub 將模型檢查點上傳到 Hub。

有關 huggingface_hub 版本的完整引數列表,請參閱 huggingface_hub 文件

remove_callback

< >

( callback: typing.Union[type, transformers.trainer_callback.TrainerCallback] )

引數

  • callback (typeTrainerCallback) — 一個 TrainerCallback 類或 TrainerCallback 的例項。在第一種情況下,將刪除回撥列表中找到的該類的第一個成員。

從當前 TrainerCallback 列表中刪除回撥。

train

< >

( args: typing.Optional[setfit.training_args.TrainingArguments] = None polarity_args: typing.Optional[setfit.training_args.TrainingArguments] = None trial: typing.Union[ForwardRef('optuna.Trial'), typing.Dict[str, typing.Any], NoneType] = None **kwargs )

引數

  • args (TrainingArguments, 可選) — 暫時更改此訓練呼叫的方面訓練引數。
  • polarity_args (TrainingArguments, 可選) — 暫時更改此訓練呼叫的極性訓練引數。
  • trial (optuna.TrialDict[str, Any], 可選) — 試執行或用於超引數搜尋的超引數字典。

主訓練入口點。

train_aspect

< >

( args: typing.Optional[setfit.training_args.TrainingArguments] = None trial: typing.Union[ForwardRef('optuna.Trial'), typing.Dict[str, typing.Any], NoneType] = None **kwargs )

引數

  • args (TrainingArguments, 可選) — 暫時更改此訓練呼叫的方面訓練引數。
  • trial (optuna.TrialDict[str, Any], 可選) — 試執行或用於超引數搜尋的超引數字典。

僅訓練方面模型。

train_polarity

< >

( args: typing.Optional[setfit.training_args.TrainingArguments] = None trial: typing.Union[ForwardRef('optuna.Trial'), typing.Dict[str, typing.Any], NoneType] = None **kwargs )

引數

  • args (TrainingArguments, 可選) — 暫時更改此訓練呼叫的方面訓練引數。
  • trial (optuna.TrialDict[str, Any], 可選) — 試執行或用於超引數搜尋的超引數字典。

僅訓練極性模型。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.