Appearance
第14章:使用国内镜像加速下载
transformers库可以配置为使用国内的镜像站点来下载模型和依赖项,这不仅可以加速下载过程,还能避免由于网络问题导致的失败。以清华大学开源镜像为例,这里是如何配置的方法:
14.1. 使用清华镜像安装Python包
当你需要安装transformers及其依赖项时,可以通过指定清华镜像来加快下载速度。你可以直接在命令行中添加-i参数指向清华的PyPI镜像。
bash
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple transformers或者,如果你有多个包要安装,可以在requirements.txt文件中加入如下内容,并通过以下命令进行安装:
bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple14.2. 配置Hugging Face Transformers 使用清华镜像
对于transformers库中的模型和分词器,默认情况下会尝试从Hugging Face的官方服务器下载。为了使用清华的镜像,你需要设置环境变量或直接修改代码中的下载链接。
14.2.1 方法一:设置环境变量
你可以通过设置环境变量TRANSFORMERS_OFFLINE为1来确保所有资源都从本地缓存加载,但这只适用于你已经提前下载并缓存了所有需要的资源的情况。更推荐的做法是指定一个自定义的模型hub URL。
bash
export TRANSFORMERS_CACHE="/path/to/local/cache"
export HF_ENDPOINT="https://mirrors.tuna.tsinghua.edu.cn/hugging-face-models"请注意,HF_ENDPOINT环境变量用于指定Hugging Face模型库的镜像地址。上述命令将Hugging Face模型库的默认URL替换为清华大学提供的镜像地址。
14.2.2 方法二:在代码中指定
如果你不想改变全局环境变量,也可以在代码中动态地更改模型下载源。这可以通过transformers库提供的hf_hub_url函数来实现,但更简单的方式是直接在实例化模型或分词器时通过cache_dir参数指定本地缓存路径,并结合环境变量HF_ENDPOINT。
python
import os
from transformers import BertForSequenceClassification, BertTokenizer
os.environ['HF_ENDPOINT'] = "https://mirrors.tuna.tsinghua.edu.cn/hugging-face-models"
model_name = "bert-base-uncased"
model = BertForSequenceClassification.from_pretrained(model_name, cache_dir="./local_cache")
tokenizer = BertTokenizer.from_pretrained(model_name, cache_dir="./local_cache")14.3. 使用transformers CLI 工具
transformers还提供了一个命令行界面(CLI),允许用户管理模型和其他资源。你可以通过CLI工具来下载模型到本地缓存,这样即使在网络不可用的情况下也能使用这些资源。
bash
transformers-cli download bert-base-uncased --cache-dir ./local_cache14.4 注意事项
- 检查可用性:确保清华镜像站确实提供了你需要的资源。不是所有的模型或版本都能立即在镜像站上找到。
- 保持更新:定期同步本地缓存与远程仓库,以获取最新的模型和修复补丁。
- 隐私和安全:虽然使用镜像可以提高效率,但也请确认所使用的镜像来源可靠,遵循数据隐私和安全最佳实践。
通过以上方法,你应该能够有效地利用清华大学的开源镜像来加速transformers库相关资源的下载,并减少对外部网络连接的依赖。如果有更多具体的问题或需求,请随时告知!
