拥抱脸的变形金刚在哪里保存模型?

use*_*360 14 huggingface-transformers

运行下面的代码下载一个模型 - 有谁知道它下载到哪个文件夹?

!pip install -q transformers
from transformers import pipeline
model = pipeline('fill-mask')
Run Code Online (Sandbox Code Playgroud)

Dav*_*eli 20

在 Windows 10 上,在 cmd do 中替换~为或。C:\Users\usernamecd /d "%HOMEDRIVE%%HOMEPATH%"

所以完整路径将是:C:\Users\username\.cache\huggingface\transformers


den*_*ger 19

2021 年 3 月 11 日更新:缓存位置现已更改,位于 中~/.cache/huggingface/transformers,@victorx 的回答中也有详细说明。


这篇文章应该对此有所了解(加上我自己的一些调查,因为它已经有点旧了)。

如前所述,Linux 系统中的默认位置是~/.cache/torch/transformers/(我目前使用的是 Transformers v 2.7,但不太可能很快改变。)。此目录中的神秘文件夹名称似乎对应于 Amazon S3 哈希。

另请注意,管道任务只是到其他模型的“重新路由”。要了解您当前正在加载哪一个,请参见此处。对于您的特定模型,pipeline(fill-mask)实际上是使用distillroberta-base模型。

  • @hkh我找到了参数,你可以传入 `cache_dir`,例如:`model = GPTNeoXForCausalLM.from_pretrained("EleutherAI/gpt-neox-20b", cache_dir="~/mycoolfolder")`。我必须解决这个问题才能使用快速的外部 NVMe,因为我的空间不足。 (8认同)
  • 我们如何将模型保存在自定义路径中?假设我们想要对实现进行 dockerise - 将所有内容都放在同一目录中会很好。知道如何做到这一点吗? (5认同)

Vic*_*Yan 19

从 Transformers 4.22 开始,路径似乎是(在 CentOS 上测试):

~/.cache/huggingface/hub/
Run Code Online (Sandbox Code Playgroud)


vic*_*orx 18

从 Transformers 4.3 版本开始,缓存位置已更改。

\n

确切的位置在此代码部分中定义 \xe2\x80\x8b https://github.com/huggingface/transformers/blob/master/src/transformers/file_utils.py#L181-L187

\n

在 Linux 上,它位于 ~/.cache/huggingface/transformers。

\n

那里的文件名基本上是下载文件的原始 URL 的 SHA 哈希值。相应的json文件可以帮助您找出原始文件名是什么。

\n