一、说明
关于transformer库的安装环境的说明;因为transformer是一个不小的大型软件,安装的时候对环境还是需要一定规划,一般安装在虚拟环境中,以便与常规软件进行隔离。
二、安装
为您正在使用的任何深度学习库安装 Transformer,设置缓存,并选择性地将 Transformer 配置为离线运行。
Transformers 在 Python 3.6+、PyTorch 1.1.0+、TensorFlow 2.0+ 和 Flax 上进行了测试。请按照以下您正在使用的深度学习库的安装说明进行操作:
- PyTorch 安装说明。
- TensorFlow 2.0 安装说明。
- 亚麻Flax 安装说明。
三、使用 pip 安装
您应该在虚拟环境中安装 Transformer。如果您不熟悉 Python 虚拟环境,请查看本指南。虚拟环境可以更轻松地管理不同的项目,并避免依赖项之间的兼容性问题。
首先在项目目录中创建一个虚拟环境:
python -m venv .env
激活虚拟环境。在 Linux 和 MacOS 上:
source .env/bin/activate
在 Windows 上激活虚拟环境
.env/Scripts/activate
现在,您可以使用以下命令安装 Transformers:
pip install transformers
仅对于 CPU 支持,您可以方便地将 Transformer 和深度学习库安装在一行中。例如,使用以下命令安装Transformers 和 PyTorch:
pip install 'transformers[torch]'
Transformer 和 TensorFlow 2.0:
pip install 'transformers[tf-cpu]'
M1 / ARM 用户
在安装 TensorFLow 2.0 之前,您需要安装以下内容
brew install cmake
brew install pkg-config
变压器和亚麻:
pip install 'transformers[flax]'
最后,通过运行以下命令检查 Transformer 是否已正确安装。它将下载一个预训练模型:
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
通过运行以下命令检查 Transformers 是否已正确安装:
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"
4.1 可编辑安装
如果选择可编辑安装,有两种需求假定:
- 用户要求使用源代码的版本(code.
main)。
- 对 Transformers 有奉献,并需要修改源代码.
克隆相关代码,并进行安装:
git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .
这些命令将链接您将存储库克隆到的文件夹和您的 Python 库路径。除了正常的库路径之外,Python 现在还会查看您克隆到的文件夹内部。例如,如果您的 Python 包通常安装在,Python 还将搜索您克隆到的文件夹:.~/anaconda3/envs/main/lib/python3.7/site-packages/~/transformers/
如果要继续使用该库,则必须保留transformers
该文件夹。
现在,您可以使用以下命令轻松地将克隆更新到最新版本的, Transformers:
cd ~/transformers/
git pull
Python 环境将在下次运行main
时找到 Transformer 的版本。
4.2 使用 conda 安装
从 conda 通道安装:conda-forge
conda install conda-forge::transformers
4.3 缓存设置
预训练模型下载并本地缓存在: 。这是 shell 环境变量 给出的默认目录。在 Windows 上,默认目录由 提供。您可以更改如下所示的 shell 环境变量(按优先级顺序)以指定不同的缓存目录:~/.cache/huggingface/hub
TRANSFORMERS_CACHE
C:\Users\username\.cache\huggingface\hub
- Shell 环境变量(默认):或 .
HUGGINGFACE_HUB_CACHE
TRANSFORMERS_CACHE
- Shell 环境变量:.
HF_HOME
- Shell 环境变量:+ 。
XDG_CACHE_HOME
/huggingface
🤗 转换器将使用 shell 环境变量,或者如果您来自此库的早期迭代并设置了这些环境变量,除非您指定 shell 环境变量。PYTORCH_TRANSFORMERS_CACHE
PYTORCH_PRETRAINED_BERT_CACHE
TRANSFORMERS_CACHE
4.4 离线模式
通过设置环境变量 ,在具有本地缓存文件的防火墙或脱机环境中运行 Transformers。TRANSFORMERS_OFFLINE=1
使用 environment 变量将数据集添加到,离线训练工作流中。HF_DATASETS_OFFLINE=1
HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
python examples/pytorch/translation/run_translation.py --model_name_or_path t5-small --dataset_name wmt16 --dataset_config ro-en ...
此脚本应在不挂起或等待超时的情况下运行,因为它不会尝试从 Hub 下载模型。
您还可以使用参数从每个 from_pretrained() 调用中绕过从 Hub 加载模型。设置为 时,仅加载本地文件:local_files_onlyTrue
from transformers import T5Model
model = T5Model.from_pretrained("./path/to/local/directory", local_files_only=True)
五、提取模型和分词器以供脱机使用
离线使用 Transformers 的另一个选项是提前下载文件,然后在需要离线使用🤗它们时指向它们的本地路径。有三种方法可以做到这一点:
-
通过模型中心的用户界面下载文件,方法是单击 ↓ 图标。
-
使用 PreTrainedModel.from_pretrained() 和 PreTrainedModel.save_pretrained() 工作流:
-
使用 PreTrainedModel.from_pretrained()提前下载您的文件:
>>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B") >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")
-
使用 PreTrainedModel.save_pretrained()将文件保存到指定目录:
>>> tokenizer.save_pretrained("./your/path/bigscience_t0") >>> model.save_pretrained("./your/path/bigscience_t0")
-
现在,当您处于离线状态时,使用指定目录中的 PreTrainedModel.from_pretrained() 重新加载文件:
>>> tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0") >>> model = AutoModel.from_pretrained("./your/path/bigscience_t0")
-
-
使用 huggingface_hub 库以编程方式下载文件:
-
在虚拟环境中安装库:
huggingface_hub
python -m pip install huggingface_hub
-
使用 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")