Transformers 文档

安装

Hugging Face's logo
加入Hugging Face 社区

并获得增强的文档体验

开始使用

安装

无论您使用哪个深度学习库,都可以安装 🤗 Transformers,设置缓存,并可以选择配置 🤗 Transformers 离线运行。

🤗 Transformers 已在 Python 3.6+、PyTorch 1.1.0+、TensorFlow 2.0+ 和 Flax 上进行了测试。请根据您使用的深度学习库,按照以下安装说明进行操作。

使用 pip 安装

您应该在 虚拟环境 中安装 🤗 Transformers。如果您不熟悉 Python 虚拟环境,请查看此 指南。虚拟环境可以更轻松地管理不同的项目,并避免依赖项之间的兼容性问题。

首先在您的项目目录中创建一个虚拟环境

python -m venv .env

激活虚拟环境。在 Linux 和 MacOs 上

source .env/bin/activate

在 Windows 上激活虚拟环境

.env/Scripts/activate

现在,您可以使用以下命令安装 🤗 Transformers

pip install transformers

仅限 CPU 支持,您可以方便地在一行代码中安装 🤗 Transformers 和深度学习库。例如,使用以下命令安装 🤗 Transformers 和 PyTorch:

pip install 'transformers[torch]'

🤗 Transformers 和 TensorFlow 2.0

pip install 'transformers[tf-cpu]'

M1/ARM 用户

在安装 TensorFlow 2.0 之前,您需要安装以下内容:

brew install cmake
brew install pkg-config

🤗 Transformers 和 Flax

pip install 'transformers[flax]'

最后,运行以下命令检查 🤗 Transformers 是否已正确安装。它将下载一个预训练模型。

python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"

然后打印出标签和分数。

[{'label': 'POSITIVE', 'score': 0.9998704791069031}]

从源代码安装

使用以下命令从源代码安装 🤗 Transformers

pip install git+https://github.com/huggingface/transformers

此命令安装的是最新的 main 版本,而不是最新的 stable 版本。main 版本对于及时了解最新开发成果很有用。例如,如果自上次正式发布以来已修复了一个错误,但尚未发布新版本。但是,这意味着 main 版本可能并不总是稳定的。我们努力使 main 版本保持可用,并且大多数问题通常会在几小时或一天内解决。如果您遇到问题,请打开一个 Issue,以便我们能够更快地解决它!

运行以下命令检查 🤗 Transformers 是否已正确安装。

python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"

可编辑安装

如果您想执行以下操作,则需要进行可编辑安装:

  • 使用源代码的 main 版本。
  • 为 🤗 Transformers 贡献代码,并需要测试代码中的更改。

克隆存储库并使用以下命令安装 🤗 Transformers:

git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .

这些命令会将您克隆存储库到的文件夹链接到您的 Python 库路径。现在,Python 除了正常的库路径之外,还会在您克隆到的文件夹中查找。例如,如果您的 Python 包通常安装在 ~/anaconda3/envs/main/lib/python3.7/site-packages/ 中,则 Python 还会搜索您克隆到的文件夹:~/transformers/

如果您想继续使用该库,则必须保留 transformers 文件夹。

现在,您可以使用以下命令轻松地将克隆更新到 🤗 Transformers 的最新版本:

cd ~/transformers/
git pull

您的 Python 环境将在下次运行时找到 🤗 Transformers 的 main 版本。

使用 conda 安装

从 conda 通道 conda-forge 安装

conda install conda-forge::transformers

缓存设置

预训练模型将下载并缓存在本地:~/.cache/huggingface/hub。这是 shell 环境变量 TRANSFORMERS_CACHE 给出的默认目录。在 Windows 上,默认目录由 C:\Users\username\.cache\huggingface\hub 给出。您可以更改以下所示的 shell 环境变量(按优先级顺序)以指定不同的缓存目录。

  1. Shell 环境变量(默认):HUGGINGFACE_HUB_CACHETRANSFORMERS_CACHE
  2. Shell 环境变量:HF_HOME
  3. Shell 环境变量:XDG_CACHE_HOME + /huggingface

如果您来自该库的早期版本并已设置这些环境变量,则 🤗 Transformers 将使用 shell 环境变量 PYTORCH_TRANSFORMERS_CACHEPYTORCH_PRETRAINED_BERT_CACHE,除非您指定 shell 环境变量 TRANSFORMERS_CACHE

离线模式

通过设置环境变量 HF_HUB_OFFLINE=1,在防火墙或离线环境中使用本地缓存的文件运行 🤗 Transformers。

使用环境变量 HF_DATASETS_OFFLINE=1🤗 Datasets 添加到您的离线训练工作流中。

HF_DATASETS_OFFLINE=1 HF_HUB_OFFLINE=1 \
python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...

此脚本应该能够运行,而不会挂起或等待超时,因为它不会尝试从 Hub 下载模型。

您还可以通过 local_files_only 参数绕过从每个 from_pretrained() 调用加载模型。当设置为 True 时,仅加载本地文件。

from transformers import T5Model

model = T5Model.from_pretrained("./path/to/local/directory", local_files_only=True)

获取模型和分词器以供离线使用

另一种离线使用 🤗 Transformers 的方法是提前下载文件,然后在需要离线使用时指向其本地路径。有三种方法可以做到这一点。

  • 通过 模型中心 上的用户界面下载文件,单击 ↓ 图标。

    download-icon

  • 使用 PreTrainedModel.from_pretrained()PreTrainedModel.save_pretrained() 工作流程。

    1. 使用 PreTrainedModel.from_pretrained() 提前下载您的文件。

      >>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
      
      >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B")
      >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")
    2. 使用 PreTrainedModel.save_pretrained() 将您的文件保存到指定的目录。

      >>> tokenizer.save_pretrained("./your/path/bigscience_t0")
      >>> model.save_pretrained("./your/path/bigscience_t0")
    3. 现在,当您处于离线状态时,可以使用 PreTrainedModel.from_pretrained() 从指定的目录重新加载您的文件。

      >>> tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0")
      >>> model = AutoModel.from_pretrained("./your/path/bigscience_t0")
  • 使用 huggingface_hub 库以编程方式下载文件。

    1. 在您的虚拟环境中安装 huggingface_hub 库。

      python -m pip install huggingface_hub
    2. 使用 hf_hub_download 函数将文件下载到特定路径。例如,以下命令将 T0 模型的 config.json 文件下载到您所需的路径。

      >>> from huggingface_hub import hf_hub_download
      
      >>> hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="./your/path/bigscience_t0")

文件下载完成后并缓存在本地后,请指定其本地路径以加载并使用它。

>>> from transformers import AutoConfig

>>> config = AutoConfig.from_pretrained("./your/path/bigscience_t0/config.json")

有关从 Hub 下载存储文件的更多详细信息,请参阅如何从 Hub 下载文件部分。

< > GitHub 更新