为您正在使用的深度学习库安装🤗 Transformers,设置缓存,并选择性地配置🤗 Transformers 以离线运行。
🤗 Transformers 已在 Python 3.6+、PyTorch 1.1.0+、TensorFlow 2.0+ 和 Flax 上进行了测试。请根据您使用的深度学习库按照下面的安装说明进行安装:
PyTorch 安装说明。
TensorFlow 2.0 安装说明。
Flax 安装说明。
您应该在 虚拟环境 中安装 🤗 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
版本。主版本 “有助于跟上最新发展。例如,在上一个正式版本修复了一个错误,但新版本尚未推出的情况下。不过,这意味着 “主 “版本不一定总是稳定的。我们会努力保持 “主 “版本的正常运行,大多数问题通常会在几小时或一天内得到解决。如果您遇到问题,请提交 Issues ,这样我们就能更快地解决问题!
运行以下命令检查🤗 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 频道 “huggingface “安装:
conda install -c huggingface transformers
预训练模型下载并本地缓存在~/.cache/huggingface/hub
。这是 shell 环境变量 TRANSFORMERS_CACHE
指定的默认目录。在 Windows 中,默认目录为 C:\Users\username\.cache\huggingface\hub
。你可以按优先顺序更改下面显示的 shell 环境变量,以指定不同的缓存目录:
1.shell 环境变量(默认):HUGGINGFACE_HUB_CACHE或
TRANSFORMERS_CACHE。 2.shell 环境变量:HF_HOME
。
3.shell 环境变量:XDG_CACHE_HOME+
/huggingface`。
🤗 Transformers 将使用 shell 环境变量 PYTORCH_TRANSFORMERS_CACHE
或 PYTORCH_PRETRAINED_BERT_CACHE
(如果您来自该库的早期迭代并已设置了这些环境变量),除非您指定 shell 环境变量 TRANSFORMERS_CACHE
。
🤗 Transformers 可以在防火墙或脱机环境中运行,只使用本地文件。设置环境变量 TRANSFORMERS_OFFLINE=1
可启用此行为。
通过设置环境变量 HF_DATASETS_OFFLINE=1
,将 🤗数据集 添加到离线训练工作流中。
例如,您通常会使用以下命令在防火墙对外部实例的普通网络上运行程序:
python examples/pytorch/translation/run_translation.py --model_name_or_path t5-small --datasaset_name wmt16 --dataset_config ro-en ...
在脱机实例中运行相同的程序:
hf_datasets_offline=1 transformers_offline=1 \ python examples/pytorch/translation/run_translation.py --model_name_or_path t5-small --datasaset_name wmt16 --dataset_config ro-en ...
现在,脚本运行时应该不会挂起或等待超时,因为它知道自己应该只查找本地文件。
另一种离线使用🤗 Transformers 的方法是提前下载文件,然后在需要离线使用时指向文件的本地路径。有三种方法可以做到这一点:
点击 ↓ 图标,通过 Model Hub 网站下载文件。
使用 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")
1.在虚拟环境中安装 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")
查看 如何从Hub下载文件 章节,了解更多关于从Hub下载存储文件的详细信息。