AutoTrain 文档

Python 快速入门

您正在查看的是需要从源码安装。如果您想使用常规的 pip 安装,请查看最新的稳定版本 (v0.8.24)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

Python 快速入门

AutoTrain 是一个库,允许您在 Hugging Face Spaces 上或本地训练最先进的模型。它提供了一个简单易用的界面,用于训练各种任务的模型,如 LLM 微调、文本分类、图像分类、目标检测等。

在本快速入门指南中,我们将向您展示如何使用 AutoTrain 在 Python 中训练模型。

入门

AutoTrain 可以使用 pip 安装

$ pip install autotrain-advanced

下面的示例代码展示了如何使用 AutoTrain 在 Python 中微调 LLM 模型。

import os

from autotrain.params import LLMTrainingParams
from autotrain.project import AutoTrainProject


params = LLMTrainingParams(
    model="meta-llama/Llama-3.2-1B-Instruct",
    data_path="HuggingFaceH4/no_robots",
    chat_template="tokenizer",
    text_column="messages",
    train_split="train",
    trainer="sft",
    epochs=3,
    batch_size=1,
    lr=1e-5,
    peft=True,
    quantization="int4",
    target_modules="all-linear",
    padding="right",
    optimizer="paged_adamw_8bit",
    scheduler="cosine",
    gradient_accumulation=8,
    mixed_precision="bf16",
    merge_adapter=True,
    project_name="autotrain-llama32-1b-finetune",
    log="tensorboard",
    push_to_hub=True,
    username=os.environ.get("HF_USERNAME"),
    token=os.environ.get("HF_TOKEN"),
)


backend = "local"
project = AutoTrainProject(params=params, backend=backend, process=True)
project.create()

在此示例中,我们正在 `HuggingFaceH4/no_robots` 数据集上微调 `meta-llama/Llama-3.2-1B-Instruct` 模型。我们以 1 的批大小和 `1e-5` 的学习率对模型进行 3 个 epoch 的训练。我们使用 `paged_adamw_8bit` 优化器和 `cosine` 调度器。我们还使用混合精度训练,梯度累积为 8。训练完成后,最终模型将被推送到 Hugging Face Hub。

要训练模型,请运行以下命令

$ export HF_USERNAME=<your-hf-username>
$ export HF_TOKEN=<your-hf-write-token>
$ python train.py

这将创建一个名为 `autotrain-llama32-1b-finetune` 的新项目目录并开始训练过程。训练完成后,模型将被推送到 Hugging Face Hub。

仅当您想要推送模型或访问受限模型或数据集时,才需要您的 HF_TOKEN 和 HF_USERNAME。

AutoTrainProject 类

class autotrain.project.AutoTrainProject

< >

( params: typing.Union[autotrain.trainers.clm.params.LLMTrainingParams, autotrain.trainers.text_classification.params.TextClassificationParams, autotrain.trainers.tabular.params.TabularParams, autotrain.trainers.seq2seq.params.Seq2SeqParams, autotrain.trainers.image_classification.params.ImageClassificationParams, autotrain.trainers.text_regression.params.TextRegressionParams, autotrain.trainers.object_detection.params.ObjectDetectionParams, autotrain.trainers.token_classification.params.TokenClassificationParams, autotrain.trainers.sent_transformers.params.SentenceTransformersParams, autotrain.trainers.image_regression.params.ImageRegressionParams, autotrain.trainers.extractive_question_answering.params.ExtractiveQuestionAnsweringParams, autotrain.trainers.vlm.params.VLMTrainingParams] backend: str process: bool = False )

一个用于训练 AutoTrain 项目的类。

属性

params : Union[ LLMTrainingParams, TextClassificationParams, TabularParams, Seq2SeqParams, ImageClassificationParams, TextRegressionParams, ObjectDetectionParams, TokenClassificationParams, SentenceTransformersParams, ImageRegressionParams, ExtractiveQuestionAnsweringParams, VLMTrainingParams, ] AutoTrain 项目的参数。 backend : str 用于 AutoTrain 项目的后端。它应该是以下之一

  • local
  • spaces-a10g-large
  • spaces-a10g-small
  • spaces-a100-large
  • spaces-t4-medium
  • spaces-t4-small
  • spaces-cpu-upgrade
  • spaces-cpu-basic
  • spaces-l4x1
  • spaces-l4x4
  • spaces-l40sx1
  • spaces-l40sx4
  • spaces-l40sx8
  • spaces-a10g-largex2
  • spaces-a10g-largex4 process : bool 指示是否应处理参数和数据集的标志。如果您的数据格式不是 AutoTrain 可读的,请将其设置为 True。如有疑问,请设置为 True。默认为 False。

方法

post_init(): 验证后端属性。 create(): 根据后端创建一个运行器并初始化 AutoTrain 项目。

参数

文本任务

class autotrain.trainers.clm.params.LLMTrainingParams

< >

( model: str = 'gpt2' project_name: str = 'project-name' data_path: str = 'data' train_split: str = 'train' valid_split: typing.Optional[str] = None add_eos_token: bool = True block_size: typing.Union[int, typing.List[int]] = -1 model_max_length: int = 2048 padding: typing.Optional[str] = 'right' trainer: str = 'default' use_flash_attention_2: bool = False log: str = 'none' disable_gradient_checkpointing: bool = False logging_steps: int = -1 eval_strategy: str = 'epoch' save_total_limit: int = 1 auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None lr: float = 3e-05 epochs: int = 1 batch_size: int = 2 warmup_ratio: float = 0.1 gradient_accumulation: int = 4 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 chat_template: typing.Optional[str] = None quantization: typing.Optional[str] = 'int4' target_modules: typing.Optional[str] = 'all-linear' merge_adapter: bool = False peft: bool = False lora_r: int = 16 lora_alpha: int = 32 lora_dropout: float = 0.05 model_ref: typing.Optional[str] = None dpo_beta: float = 0.1 max_prompt_length: int = 128 max_completion_length: typing.Optional[int] = None prompt_text_column: typing.Optional[str] = None text_column: str = 'text' rejected_text_column: typing.Optional[str] = None push_to_hub: bool = False username: typing.Optional[str] = None token: typing.Optional[str] = None unsloth: bool = False distributed_backend: typing.Optional[str] = None )

参数

  • model (str) — 用于训练的模型名称。默认为 “gpt2”。
  • project_name (str) — 项目名称和输出目录。默认为 “project-name”。
  • data_path (str) — 数据集路径。默认为 “data”。
  • train_split (str) — 训练数据分割的配置。默认为 “train”。
  • valid_split (Optional[str]) — 验证数据分割的配置。默认为 None。
  • add_eos_token (bool) — 是否在序列末尾添加 EOS 标记。默认为 True。
  • block_size (Union[int, List[int]]) — 训练块的大小,可以是一个整数或一个整数列表。默认为 -1。
  • model_max_length (int) — 模型输入的最大长度。默认为 2048。
  • padding (Optional[str]) — 填充序列的一侧(左侧或右侧)。默认为 “right”。
  • trainer (str) — 要使用的训练器类型。默认为 “default”。
  • use_flash_attention_2 (bool) — 是否使用 flash attention 第 2 版。默认为 False。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 “none”。
  • disable_gradient_checkpointing (bool) — 是否禁用梯度检查点。默认为 False。
  • logging_steps (int) — 日志记录事件之间的步数。默认为 -1。
  • eval_strategy (str) — 评估策略(例如,'epoch')。默认为 “epoch”。
  • save_total_limit (int) — 要保留的最大检查点数。默认为 1。
  • auto_find_batch_size (bool) — 是否自动查找最佳批大小。默认为 False。
  • mixed_precision (Optional[str]) — 要使用的混合精度类型(例如,'fp16','bf16' 或 None)。默认为 None。
  • lr (float) — 训练的学习率。默认为 3e-5。
  • epochs (int) — 训练的轮数。默认为 1。
  • batch_size (int) — 训练的批大小。默认为 2。
  • warmup_ratio (float) — 用于学习率预热的训练比例。默认为 0.1。
  • gradient_accumulation (int) — 更新前累积梯度的步数。默认为 4。
  • optimizer (str) — 用于训练的优化器。默认为 “adamw_torch”。
  • scheduler (str) — 要使用的学习率调度器。默认为 “linear”。
  • weight_decay (float) — 应用于优化器的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 梯度裁剪的最大范数。默认为 1.0。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • chat_template (Optional[str]) — 对话模型的模板,选项包括:None、zephyr、chatml 或 tokenizer。默认为 None。
  • quantization (Optional[str]) — 要使用的量化方法(例如,'int4','int8' 或 None)。默认为 “int4”。
  • target_modules (Optional[str]) — 用于量化或微调的目标模块。默认为 “all-linear”。
  • merge_adapter (bool) — 是否合并适配器层。默认为 False。
  • peft (bool) — 是否使用参数高效微调(PEFT)。默认为 False。
  • lora_r (int) — LoRA 矩阵的秩。默认为 16。
  • lora_alpha (int) — LoRA 的 Alpha 参数。默认为 32。
  • lora_dropout (float) — LoRA 的丢弃率。默认为 0.05。
  • model_ref (Optional[str]) — DPO 训练器的参考模型。默认为 None。
  • dpo_beta (float) — DPO 训练器的 Beta 参数。默认为 0.1。
  • max_prompt_length (int) — 提示的最大长度。默认为 128。
  • max_completion_length (Optional[int]) — 补全内容的最大长度。默认为 None。
  • prompt_text_column (Optional[str]) — 提示文本的列名。默认为 None。
  • text_column (str) — 文本数据的列名。默认为 “text”。
  • rejected_text_column (Optional[str]) — 拒绝文本数据的列名。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • username (Optional[str]) — 用于身份验证的 Hugging Face 用户名。默认为 None。
  • token (Optional[str]) — 用于身份验证的 Hugging Face 令牌。默认为 None。
  • unsloth (bool) — 是否使用 unsloth 库。默认为 False。
  • distributed_backend (Optional[str]) — 用于分布式训练的后端。默认为 None。

LLMTrainingParams:使用 autotrain 库训练语言模型的参数。

class autotrain.trainers.sent_transformers.params.SentenceTransformersParams

< >

( data_path: str = None model: str = 'microsoft/mpnet-base' lr: float = 3e-05 epochs: int = 3 max_seq_length: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 trainer: str = 'pair_score' sentence1_column: str = 'sentence1' sentence2_column: str = 'sentence2' sentence3_column: typing.Optional[str] = None target_column: typing.Optional[str] = None )

参数

  • data_path (str) — 数据集的路径。
  • model (str) — 要使用的预训练模型的名称。默认为 “microsoft/mpnet-base”。
  • lr (float) — 训练的学习率。默认为 3e-5。
  • epochs (int) — 训练轮数。默认为 3。
  • max_seq_length (int) — 输入的最大序列长度。默认为 128。
  • batch_size (int) — 训练的批次大小。默认为 8。
  • warmup_ratio (float) — 用于学习率预热的训练比例。默认为 0.1。
  • gradient_accumulation (int) — 更新前累积梯度的步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 “adamw_torch”。
  • scheduler (str) — 要使用的学习率调度器。默认为 “linear”。
  • weight_decay (float) — 要应用的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 用于裁剪的最大梯度范数。默认为 1.0。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • train_split (str) — 训练数据分割的名称。默认为 “train”。
  • valid_split (Optional[str]) — 验证数据分割的名称。默认为 None。
  • logging_steps (int) — 日志记录之间的步数。默认为 -1。
  • project_name (str) — 输出目录的项目名称。默认为 “project-name”。
  • auto_find_batch_size (bool) — 是否自动寻找最佳批次大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度训练模式(fp16、bf16 或 None)。默认为 None。
  • save_total_limit (int) — 要保存的最大检查点数量。默认为 1。
  • token (Optional[str]) — 用于访问 Hugging Face Hub 的令牌。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 要使用的评估策略。默认为 “epoch”。
  • username (Optional[str]) — Hugging Face 用户名。默认为 None。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 “none”。
  • early_stopping_patience (int) — 训练在没有改善的情况下将停止的轮数。默认为 5。
  • early_stopping_threshold (float) — 用于衡量新的最优值的阈值,以符合改进条件。默认为 0.01。
  • trainer (str) — 要使用的训练器名称。默认为 “pair_score”。
  • sentence1_column (str) — 包含第一个句子的列的名称。默认为 “sentence1”。
  • sentence2_column (str) — 包含第二个句子的列的名称。默认为 “sentence2”。
  • sentence3_column (Optional[str]) — 包含第三个句子的列的名称(如果适用)。默认为 None。
  • target_column (Optional[str]) — 包含目标变量的列的名称。默认为 None。

SentenceTransformersParams 是一个用于为训练句子转换器设置参数的配置类。

class autotrain.trainers.seq2seq.params.Seq2SeqParams

< >

( data_path: str = None model: str = 'google/flan-t5-base' username: typing.Optional[str] = None seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None project_name: str = 'project-name' token: typing.Optional[str] = None push_to_hub: bool = False text_column: str = 'text' target_column: str = 'target' lr: float = 5e-05 epochs: int = 3 max_seq_length: int = 128 max_target_length: int = 128 batch_size: int = 2 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 logging_steps: int = -1 eval_strategy: str = 'epoch' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 peft: bool = False quantization: typing.Optional[str] = 'int8' lora_r: int = 16 lora_alpha: int = 32 lora_dropout: float = 0.05 target_modules: str = 'all-linear' log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集的路径。
  • model (str) — 要使用的模型名称。默认为 “google/flan-t5-base”。
  • username (Optional[str]) — Hugging Face 用户名。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • train_split (str) — 训练数据分割的名称。默认为 "train"。
  • valid_split (Optional[str]) — 验证数据分割的名称。
  • project_name (str) — 项目或输出目录的名称。默认为 "project-name"。
  • token (Optional[str]) — 用于身份验证的 Hub 令牌。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • text_column (str) — 数据集中文本列的名称。默认为 "text"。
  • target_column (str) — 数据集中目标文本列的名称。默认为 "target"。
  • lr (float) — 训练的学习率。默认为 5e-5。
  • epochs (int) — 训练轮数。默认为 3。
  • max_seq_length (int) — 输入文本的最大序列长度。默认为 128。
  • max_target_length (int) — 目标文本的最大序列长度。默认为 128。
  • batch_size (int) — 训练批次大小。默认为 2。
  • warmup_ratio (float) — 预热步数的比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 "adamw_torch"。
  • scheduler (str) — 要使用的学习率调度器。默认为 "linear"。
  • weight_decay (float) — 优化器的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 用于裁剪的最大梯度范数。默认为 1.0。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1 (禁用)。
  • eval_strategy (str) — 评估策略。默认为 "epoch"。
  • auto_find_batch_size (bool) — 是否自动查找批次大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度训练模式 (fp16, bf16, 或 None)。
  • save_total_limit (int) — 要保存的检查点最大数量。默认为 1。
  • peft (bool) — 是否使用参数高效微调 (Parameter-Efficient Fine-Tuning, PEFT)。默认为 False。
  • quantization (Optional[str]) — 量化模式 (int4, int8, 或 None)。默认为 "int8"。
  • lora_r (int) — 用于 PEFT 的 LoRA-R 参数。默认为 16。
  • lora_alpha (int) — 用于 PEFT 的 LoRA-Alpha 参数。默认为 32。
  • lora_dropout (float) — 用于 PEFT 的 LoRA-Dropout 参数。默认为 0.05。
  • target_modules (str) — PEFT 的目标模块。默认为 "all-linear"。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 "none"。
  • early_stopping_patience (int) — 早停的耐心值。默认为 5。
  • early_stopping_threshold (float) — 早停的阈值。默认为 0.01。

Seq2SeqParams 是一个用于序列到序列训练参数的配置类。

class autotrain.trainers.token_classification.params.TokenClassificationParams

< >

( data_path: str = None model: str = 'bert-base-uncased' lr: float = 5e-05 epochs: int = 3 max_seq_length: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None tokens_column: str = 'tokens' tags_column: str = 'tags' logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集的路径。
  • model (str) — 要使用的模型名称。默认为 “bert-base-uncased”。
  • lr (float) — 学习率。默认为 5e-5。
  • epochs (int) — 训练轮数。默认为 3。
  • max_seq_length (int) — 最大序列长度。默认为 128。
  • batch_size (int) — 训练批次大小。默认为 8。
  • warmup_ratio (float) — 预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 "adamw_torch"。
  • scheduler (str) — 要使用的调度器。默认为 "linear"。
  • weight_decay (float) — 权重衰减。默认为 0.0。
  • max_grad_norm (float) — 最大梯度范数。默认为 1.0。
  • seed (int) — 随机种子。默认为 42。
  • train_split (str) — 训练分割的名称。默认为 "train"。
  • valid_split (Optional[str]) — 验证分割的名称。默认为 None。
  • tokens_column (str) — 标记列的名称。默认为 "tokens"。
  • tags_column (str) — 标签列的名称。默认为 "tags"。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1。
  • project_name (str) — 项目名称。默认为 “project-name”。
  • auto_find_batch_size (bool) — 是否自动查找批次大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度设置 (fp16, bf16, 或 None)。默认为 None。
  • save_total_limit (int) — 要保存的检查点总数。默认为 1。
  • token (Optional[str]) — 用于身份验证的 Hub 令牌。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face hub。默认为 False。
  • eval_strategy (str) — 评估策略。默认为 "epoch"。
  • username (Optional[str]) — Hugging Face 用户名。默认为 None。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 “none”。
  • early_stopping_patience (int) — 早停的耐心值。默认为 5。
  • early_stopping_threshold (float) — 早停的阈值。默认为 0.01。

TokenClassificationParams 是一个用于词元分类训练参数的配置类。

class autotrain.trainers.extractive_question_answering.params.ExtractiveQuestionAnsweringParams

< >

( data_path: str = None model: str = 'bert-base-uncased' lr: float = 5e-05 epochs: int = 3 max_seq_length: int = 128 max_doc_stride: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None text_column: str = 'context' question_column: str = 'question' answer_column: str = 'answers' logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 预训练模型名称。默认为 "bert-base-uncased"。
  • lr (float) — 优化器的学习率。默认为 5e-5。
  • epochs (int) — 训练周期数。默认为 3。
  • max_seq_length (int) — 输入的最大序列长度。默认为 128。
  • max_doc_stride (int) — 用于拆分上下文的最大文档步长。默认为 128。
  • batch_size (int) — 训练的批次大小。默认为 8。
  • warmup_ratio (float) — 学习率调度器的预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积的步数。默认为 1。
  • optimizer (str) — 优化器类型。默认为 "adamw_torch"。
  • scheduler (str) — 学习率调度器类型。默认为 "linear"。
  • weight_decay (float) — 优化器的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 用于梯度裁剪的最大梯度范数。默认为 1.0。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • train_split (str) — 训练数据分割的名称。默认为 "train"。
  • valid_split (Optional[str]) — 验证数据分割的名称。默认为 None。
  • text_column (str) — 上下文/文本的列名。默认为 "context"。
  • question_column (str) — 问题的列名。默认为 "question"。
  • answer_column (str) — 答案的列名。默认为 "answers"。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1。
  • project_name (str) — 输出目录的项目名称。默认为 "project-name"。
  • auto_find_batch_size (bool) — 自动寻找最佳批次大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度训练模式 (fp16, bf16, 或 None)。默认为 None。
  • save_total_limit (int) — 要保存的检查点最大数量。默认为 1。
  • token (Optional[str]) — 用于 Hugging Face Hub 的身份验证令牌。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 训练期间的评估策略。默认为 "epoch"。
  • username (Optional[str]) — 用于身份验证的 Hugging Face 用户名。默认为 None。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 "none"。
  • early_stopping_patience (int) — 提前停止前没有改进的周期数。默认为 5。
  • early_stopping_threshold (float) — 提前停止的改进阈值。默认为 0.01。

抽取式问答参数

class autotrain.trainers.text_classification.params.TextClassificationParams

< >

( data_path: str = None model: str = 'bert-base-uncased' lr: float = 5e-05 epochs: int = 3 max_seq_length: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None text_column: str = 'text' target_column: str = 'target' logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 要使用的模型名称。默认为 "bert-base-uncased"。
  • lr (float) — 学习率。默认为 5e-5。
  • epochs (int) — 训练周期数。默认为 3。
  • max_seq_length (int) — 最大序列长度。默认为 128。
  • batch_size (int) — 训练批次大小。默认为 8。
  • warmup_ratio (float) — 预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积的步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 "adamw_torch"。
  • scheduler (str) — 要使用的调度器。默认为 "linear"。
  • weight_decay (float) — 权重衰减。默认为 0.0。
  • max_grad_norm (float) — 最大梯度范数。默认为 1.0。
  • seed (int) — 随机种子。默认为 42。
  • train_split (str) — 训练分割的名称。默认为 "train"。
  • valid_split (Optional[str]) — 验证分割的名称。默认为 None。
  • text_column (str) — 数据集中文本列的名称。默认为 "text"。
  • target_column (str) — 数据集中目标列的名称。默认为 "target"。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1。
  • project_name (str) — 项目名称。默认为“project-name”。
  • auto_find_batch_size (bool) — 是否自动查找批处理大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度设置 (fp16、bf16 或 None)。默认为 None。
  • save_total_limit (int) — 要保存的检查点总数。默认为 1。
  • token (Optional[str]) — 用于身份验证的 Hub 令牌。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hub。默认为 False。
  • eval_strategy (str) — 评估策略。默认为“epoch”。
  • username (Optional[str]) — Hugging Face 用户名。默认为 None。
  • log (str) — 用于实验跟踪的日志记录方法。默认为“none”。
  • early_stopping_patience (int) — 在性能没有改善的情况下,训练将停止的轮次数。默认为 5。
  • early_stopping_threshold (float) — 用于衡量新的最优值以继续训练的阈值。默认为 0.01。

TextClassificationParams 是用于文本分类训练参数的配置类。

class autotrain.trainers.text_regression.params.TextRegressionParams

< >

( data_path: str = None model: str = 'bert-base-uncased' lr: float = 5e-05 epochs: int = 3 max_seq_length: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None text_column: str = 'text' target_column: str = 'target' logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 要使用的预训练模型名称。默认为“bert-base-uncased”。
  • lr (float) — 优化器的学习率。默认为 5e-5。
  • epochs (int) — 训练轮数。默认为 3。
  • max_seq_length (int) — 输入的最大序列长度。默认为 128。
  • batch_size (int) — 训练的批处理大小。默认为 8。
  • warmup_ratio (float) — 用于学习率预热的训练比例。默认为 0.1。
  • gradient_accumulation (int) — 更新前累积梯度的步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为“adamw_torch”。
  • scheduler (str) — 要使用的学习率调度器。默认为“linear”。
  • weight_decay (float) — 要应用的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 梯度的最大范数。默认为 1.0。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • train_split (str) — 训练数据拆分的名称。默认为“train”。
  • valid_split (Optional[str]) — 验证数据拆分的名称。默认为 None。
  • text_column (str) — 包含文本数据的列的名称。默认为“text”。
  • target_column (str) — 包含目标数据的列的名称。默认为“target”。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1 (不记录日志)。
  • project_name (str) — 输出目录的项目名称。默认为“project-name”。
  • auto_find_batch_size (bool) — 是否自动查找批处理大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度训练模式 (fp16、bf16 或 None)。默认为 None。
  • save_total_limit (int) — 要保存的最大检查点数。默认为 1。
  • token (Optional[str]) — 用于访问 Hugging Face Hub 的令牌。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 要使用的评估策略。默认为“epoch”。
  • username (Optional[str]) — Hugging Face 用户名。默认为 None。
  • log (str) — 用于实验跟踪的日志记录方法。默认为“none”。
  • early_stopping_patience (int) — 在性能没有改善的情况下,训练将停止的轮次数。默认为 5。
  • early_stopping_threshold (float) — 用于衡量新的最优值,以符合改进标准的阈值。默认为 0.01。

TextRegressionParams 是一个用于设置文本回归训练参数的配置类。

图像任务

class autotrain.trainers.image_classification.params.ImageClassificationParams

< >

( data_path: str = None model: str = 'google/vit-base-patch16-224' username: typing.Optional[str] = None lr: float = 5e-05 epochs: int = 3 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' image_column: str = 'image' target_column: str = 'target' log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 预训练模型的名称或路径。默认为“google/vit-base-patch16-224”。
  • username (Optional[str]) — Hugging Face 账户用户名。
  • lr (float) — 优化器的学习率。默认为 5e-5。
  • epochs (int) — 训练的轮数。默认为 3。
  • batch_size (int) — 训练的批处理大小。默认为 8。
  • warmup_ratio (float) — 学习率调度器的预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积步数。默认为 1。
  • optimizer (str) — 优化器类型。默认为“adamw_torch”。
  • scheduler (str) — 学习率调度器类型。默认为“linear”。
  • weight_decay (float) — 优化器的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 用于裁剪的最大梯度范数。默认为 1.0。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • train_split (str) — 训练数据拆分的名称。默认为“train”。
  • valid_split (Optional[str]) — 验证数据集拆分的名称。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1。
  • project_name (str) — 输出目录的项目名称。默认为 "project-name"。
  • auto_find_batch_size (bool) — 自动寻找最佳批处理大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度训练模式 (fp16, bf16, 或 None)。
  • save_total_limit (int) — 保留的检查点最大数量。默认为 1。
  • token (Optional[str]) — 用于身份验证的 Hugging Face Hub 令牌。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 训练期间的评估策略。默认为 "epoch"。
  • image_column (str) — 数据集中图像的列名。默认为 "image"。
  • target_column (str) — 数据集中目标标签的列名。默认为 "target"。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 "none"。
  • early_stopping_patience (int) — 用于提前停止的无改进的 epoch 数。默认为 5。
  • early_stopping_threshold (float) — 提前停止的阈值。默认为 0.01。

ImageClassificationParams 是一个用于图像分类训练参数的配置类。

class autotrain.trainers.image_regression.params.ImageRegressionParams

< >

( data_path: str = None model: str = 'google/vit-base-patch16-224' username: typing.Optional[str] = None lr: float = 5e-05 epochs: int = 3 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' image_column: str = 'image' target_column: str = 'target' log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集的路径。
  • model (str) — 要使用的模型名称。默认为 "google/vit-base-patch16-224"。
  • username (Optional[str]) — Hugging Face 用户名。
  • lr (float) — 学习率。默认为 5e-5。
  • epochs (int) — 训练轮数。默认为 3。
  • batch_size (int) — 训练批处理大小。默认为 8。
  • warmup_ratio (float) — 预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 "adamw_torch"。
  • scheduler (str) — 要使用的调度器。默认为 "linear"。
  • weight_decay (float) — 权重衰减。默认为 0.0。
  • max_grad_norm (float) — 最大梯度范数。默认为 1.0。
  • seed (int) — 随机种子。默认为 42。
  • train_split (str) — 训练集拆分名称。默认为 "train"。
  • valid_split (Optional[str]) — 验证集拆分名称。
  • logging_steps (int) — 日志记录步数。默认为 -1。
  • project_name (str) — 输出目录名称。默认为 "project-name"。
  • auto_find_batch_size (bool) — 是否自动寻找批处理大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度类型 (fp16, bf16, 或 None)。
  • save_total_limit (int) — 保存总数限制。默认为 1。
  • token (Optional[str]) — Hub 令牌。
  • push_to_hub (bool) — 是否推送到 Hub。默认为 False。
  • eval_strategy (str) — 评估策略。默认为 "epoch"。
  • image_column (str) — 图像列名。默认为 "image"。
  • target_column (str) — 目标列名。默认为 "target"。
  • log (str) — 使用实验跟踪进行日志记录。默认为 "none"。
  • early_stopping_patience (int) — 提前停止的耐心值。默认为 5。
  • early_stopping_threshold (float) — 提前停止的阈值。默认为 0.01。

ImageRegressionParams 是一个用于图像回归训练参数的配置类。

class autotrain.trainers.object_detection.params.ObjectDetectionParams

< >

( data_path: str = None model: str = 'google/vit-base-patch16-224' username: typing.Optional[str] = None lr: float = 5e-05 epochs: int = 3 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' image_column: str = 'image' objects_column: str = 'objects' log: str = 'none' image_square_size: typing.Optional[int] = 600 early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )

参数

  • data_path (str) — 数据集的路径。
  • model (str) — 要使用的模型名称。默认为 "google/vit-base-patch16-224"。
  • username (Optional[str]) — Hugging Face 用户名。
  • lr (float) — 学习率。默认为 5e-5。
  • epochs (int) — 训练轮数。默认为 3。
  • batch_size (int) — 训练批处理大小。默认为 8。
  • warmup_ratio (float) — 预热比例。默认为 0.1。
  • gradient_accumulation (int) — 梯度累积步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 "adamw_torch"。
  • scheduler (str) — 要使用的调度器。默认为 "linear"。
  • weight_decay (float) — 权重衰减。默认为 0.0。
  • max_grad_norm (float) — 最大梯度范数。默认为 1.0。
  • seed (int) — 随机种子。默认为 42。
  • train_split (str) — 训练数据集拆分的名称。默认为 "train"。
  • valid_split (Optional[str]) — 验证数据集拆分的名称。
  • logging_steps (int) — 两次日志记录之间的步数。默认为 -1。
  • project_name (str) — 输出目录的项目名称。默认为 "project-name"。
  • auto_find_batch_size (bool) — 是否自动寻找批处理大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度类型 (fp16, bf16, 或 None)。
  • save_total_limit (int) — 要保存的检查点总数。默认为 1。
  • token (Optional[str]) — 用于身份验证的 Hub 令牌。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 评估策略。默认为 “epoch”。
  • image_column (str) — 数据集中图像列的名称。默认为 “image”。
  • objects_column (str) — 数据集中目标列的名称。默认为 “objects”。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 “none”。
  • image_square_size (Optional[int]) — 图像将被调整到的最长边尺寸,然后填充为正方形。默认为 600。
  • early_stopping_patience (int) — 在没有改善的情况下,训练将停止的轮次数。默认为 5。
  • early_stopping_threshold (float) — 符合改善条件的最小变化量。默认为 0.01。

ObjectDetectionParams 是用于目标检测训练参数的配置类。

表格任务

class autotrain.trainers.tabular.params.TabularParams

< >

( data_path: str = None model: str = 'xgboost' username: typing.Optional[str] = None seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None project_name: str = 'project-name' token: typing.Optional[str] = None push_to_hub: bool = False id_column: str = 'id' target_columns: typing.Union[typing.List[str], str] = ['target'] categorical_columns: typing.Optional[typing.List[str]] = None numerical_columns: typing.Optional[typing.List[str]] = None task: str = 'classification' num_trials: int = 10 time_limit: int = 600 categorical_imputer: typing.Optional[str] = None numerical_imputer: typing.Optional[str] = None numeric_scaler: typing.Optional[str] = None )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 要使用的模型名称。默认为 “xgboost”。
  • username (Optional[str]) — Hugging Face 用户名。
  • seed (int) — 用于可复现性的随机种子。默认为 42。
  • train_split (str) — 训练数据拆分的名称。默认为 “train”。
  • valid_split (Optional[str]) — 验证数据拆分的名称。
  • project_name (str) — 输出目录的名称。默认为 “project-name”。
  • token (Optional[str]) — 用于身份验证的 Hub 令牌。
  • push_to_hub (bool) — 是否将模型推送到 Hub。默认为 False。
  • id_column (str) — ID 列的名称。默认为 “id”。
  • target_columns (Union[List[str], str]) — 数据集中的目标列。默认为 [“target”]。
  • categorical_columns (Optional[List[str]]) — 分类列的列表。
  • numerical_columns (Optional[List[str]]) — 数值列的列表。
  • task (str) — 任务类型(例如,“classification”)。默认为 “classification”。
  • num_trials (int) — 超参数优化的试验次数。默认为 10。
  • time_limit (int) — 训练的时间限制(秒)。默认为 600。
  • categorical_imputer (Optional[str]) — 分类列的插补策略。
  • numerical_imputer (Optional[str]) — 数值列的插补策略。
  • numeric_scaler (Optional[str]) — 数值列的缩放策略。

TabularParams 是用于表格数据训练参数的配置类。

< > 在 GitHub 上更新