Iva*_*Lee 5 huggingface-transformers
默认缓存目录磁盘容量不足,我需要更改默认缓存目录的配置。
ays*_*ljc 53
正如@cronoik提到的,除了在终端中修改缓存路径之外,您还可以直接在代码中修改缓存目录。如果您在 HuggingFace 上查找有任何困难,我只会为您提供实际的代码:
tokenizer = AutoTokenizer.from_pretrained("roberta-base", cache_dir="new_cache_dir/")
model = AutoModelForMaskedLM.from_pretrained("roberta-base", cache_dir="new_cache_dir/")
Run Code Online (Sandbox Code Playgroud)
Ber*_*ler 38
您可能需要设置HF_HOME环境变量:
export HF_HOME=/path/to/cache/directory
Run Code Online (Sandbox Code Playgroud)
这是因为除了 HF Transformers 本身的模型缓存之外,还有其他 Hugging Face 库的缓存目录也会占用主目录中的空间。之前的回答和评论都没有说清楚这一点。
此外,设置符号链接来捕获未设置环境变量的情况可能是有意义的(您可能必须先移走该目录~/.cache/huggingface,如果存在的话):
ln -s /path/to/cache/directory ~/.cache/huggingface
Run Code Online (Sandbox Code Playgroud)
特别是,HF_HOME环境变量也受到 Hugging Face 数据集库的尊重,尽管文档没有明确说明这一点。
Transformers 文档描述了如何确定默认缓存目录:
缓存设置
预训练模型下载并本地缓存在:~/.cache/huggingface/hub。这是 shell 环境变量 TRANSFORMERS_CACHE 指定的默认目录。
在 Windows 上,默认目录由 给出
C:\Users\username\.cache\huggingface\hub。您可以更改如下所示的 shell 环境变量(按优先级顺序)以指定不同的缓存目录:
- Shell 环境变量(默认):HUGGINGFACE_HUB_CACHE 或 TRANSFORMERS_CACHE。
- 外壳环境变量:HF_HOME。
- Shell 环境变量:XDG_CACHE_HOME + /huggingface。
这篇文档没有明确提到的是 HF_HOME 默认为$XDG_CACHE_HOME/huggingface并用于其他 Huggingface 缓存,例如数据集缓存,它与 Transformers 缓存分开。XDG_CACHE_HOME 的值取决于机器,但通常是这样的~/.cache(如果未设置 XDG_CACHE_HOME,HF 默认为该值) - 因此通常是默认值~/.cache/huggingface
cro*_*oik 18
每次使用.from_pretrained加载模型时,您都可以通过设置参数来指定缓存目录cache_dir。您可以通过在每次使用之前(即在导入库之前!)导出环境变量TRANSFORMERS_CACHE来定义默认位置。
蟒蛇的例子:
import os
os.environ['TRANSFORMERS_CACHE'] = '/blabla/cache/'
Run Code Online (Sandbox Code Playgroud)
bash 示例:
export TRANSFORMERS_CACHE=/blabla/cache/
Run Code Online (Sandbox Code Playgroud)
Shi*_*hah 10
通常,您希望将数据集和模型缓存保留更长时间,但其他东西则不然。另外,这些东西很大,您可能不希望放在主文件夹中。
因此,假设您创建了\my_drive\hf希望 HuggingFace 缓存所有内容的目录。您可以创建以下环境变量:
export HF_HOME=\my_drive\hf\misc
export HF_DATASETS_CACHE=\my_drive\hf\datasets
export TRANSFORMERS_CACHE=\my_drive\hf\models
Run Code Online (Sandbox Code Playgroud)
现在您可以更轻松地清理非必需的东西。
请注意,这HF_HOME基本上是 Hub 上所有内容的缓存位置,但在上面您将数据集和模型缓存分开。如果设置则不XDG_CACHE_HOME使用。HF_HOME如果未按上述方式设置,则HF_HOME默认为$XDG_CACHE_HOME/huggingface.
更多信息:https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables
| 归档时间: |
|
| 查看次数: |
6470 次 |
| 最近记录: |