如何从HuggingFace下载模型?

37
https://huggingface.co/models
例如,我想要下载“bert-base-uncased”,但是找不到“下载”链接。请帮忙。或者它不能被下载吗?
9个回答

55

被采纳的答案不错,但编写下载模型的代码并不总是方便的。使用git从huggingface获取模型似乎效果很好。这里有一个例子:

git lfs clone https://huggingface.co/sberbank-ai/ruT5-base

'lfs'代表'大文件存储'。从技术上讲,此命令已被弃用,使用简单的'git clone'命令应该可以工作,但是你需要设置过滤器以不跳过大文件 (如何克隆包含Git LFS文件的存储库?)


1
只需使用 git clone <url> 命令即可。Git 开始发出弃用警告。警告:'git lfs clone' 已被弃用,将不会更新为 'git clone' 的新标志 'git clone' 在上游 Git 中已经更新,速度与 'git lfs clone' 相当。 - Anurag Dhadse
对于和我一样有同样问题的所有人,请查看此处(https://git-lfs.com/),并下载存档文件(例如:“https://github.com/git-lfs/git-lfs/releases/download/v3.3.0/git-lfs-linux-amd64-v3.3.0.tar.gz”)。在它的 install.sh 文件中,将路径设置为 prefix="${HOME}/.local" ,以便 install.sh 找到 bin 文件夹并将 git-lfs 二进制文件放入其中。保存并使用当前用户运行带有 sh ./install.sh 的脚本。完成后,您可以使用命令 git-lfs clone https://huggingface.co/sberbank-ai/ruT5-base 在 huggingface.co 上克隆存储库。 - Riccardo Volpe

14

我同意Jahjajaka的回答。此外,您可以通过单击名为“在Transformers中使用”的按钮(如图所示)找到git url。 点击名为“在Transformers中使用”的按钮


5
这应该是对Jahjajaka答案的评论。 - rkechols
3
我没有权限在jahjajaka的回答下发表评论,至少需要50个声望。 - S.Fan

11
当您首次使用模型时,它会自动缓存在本地。因此,要下载模型,您只需运行提供在模型卡片中的代码(我选择了与bert-base-uncased相应的模型卡片)。
在页面右上角,您可以找到一个名为“Use in Transformers”的按钮,甚至还提供了示例代码,展示了如何在Python中使用它。同样,在bert-base-uncased的情况下,这会给出以下代码片段:
from transformers import AutoTokenizer, AutoModelForMaskedLM
  
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForMaskedLM.from_pretrained("bert-base-uncased")

当您第一次运行此代码时,会在屏幕上出现一个下载进度条。如果您想找到Huggingface存储模型的实际文件夹,请查看此帖子(声明:我提供了其中一个答案)。

5
如何将模型下载到本地磁盘? - Shaida Muhammad
4
如果我想将模型下载到特定目录怎么办? - Shaida Muhammad
我认为这值得单独提出一个问题;事实上,我相信可能的答案在这里给出:https://dev59.com/WlIG5IYBdhLWcg3wsDow - dennlinger

6

使用huggingface_hub库中的hf_hub_download如何?

hf_hub_download返回模型下载的本地路径,因此您可以将这个一行代码与另一个shell命令连接起来。

python3 -c 'from huggingface_hub import hf_hub_download; downloaded_model_path = hf_hub_download(
                                                          repo_id="CompVis/stable-diffusion-v-1-4-original",
                                                          filename="sd-v1-4.ckpt",
                                                          use_auth_token=True
                                                         ); print(downloaded_model_path)'

3

我通常会查看模型是否有一个GitHub存储库,可以从中下载zip文件。由于我的公司协议限制,我经常无法直接连接到一些源,而必须先解决SSL证书错误,但我可以从GitHub下载。


0
从Hugging Face下载模型,您可以使用官方的CLI工具huggingface-clihuggingface_hub库中的Python方法snapshot_download
使用huggingface-cli
要下载"bert-base-uncased"模型,只需运行:
$ huggingface-cli download bert-base-uncased

使用Python中的snapshot_download
from huggingface_hub import snapshot_download

snapshot_download(repo_id="bert-base-uncased")

这些工具使从Hugging Face Model Hub下载模型变得快速简便。
要了解更多信息和高级用法,请参考官方的Hugging Face文档:
- [huggingface-cli文档](link1) - [snapshot_download文档](link2)

当我使用snapshot_download时,我收到TypeError: hf_hub_download() got an unexpected keyword argument 'endpoint'的错误提示。 - undefined
1
Python>=3.8和huggingface_hub>=0.17.0 - undefined

0

HuggingFaceModelDownloader

你可以在一行中使用它:

bash <(curl -sSL https://g.bodaay.io/hfd) -m TheBloke/orca_mini_7B-GPTQ

1
你能重新编写命令,不包含对第三方网站的链接吗?即使这样会变得多步骤(并且最好在原始帖子中披露自己是作者),如果能显示下载 'bert-base-uncased' 就更好了。问题在于目前这个命令看起来像一个黑客脚本,而你的低声望也没有帮助。 - Darren Cook
从你的链接来看,你似乎是一位作者。在你的回答中,你必须公开你的关联。请参阅如何不成为垃圾邮件发送者 - user16217248

0
悬停在方框状的LFS图标上,即可获取下载链接。
curl -L https://huggingface.co/TheBloke/falcon-7b-instruct-GGML/resolve/main/falcon-7b-instruct.ggccv1.q4_1.bin --output falcon-7b-instruct.ggccv1.q4_1.bin

-1
使用Curl从URL下载文件。
curl -L -O https://huggingface.co/your-file

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接