huggingface可谓是深度学习里 最重要的社区之一了。 里面有无数个我们需要的模型和代码。近年来,知名的模型都会在huggingFace里先放一份代码和模型参数。 我们要做的就是下载这些模型。

以Bert为例。

        bert-base-chinese at main

这是bert的网址。 

截图可以看到有这些文件 都是代码和模型权重,还有其他文件。

如果想下载,点击图中的 那个文件大小后的小小的下载箭头 就可以下载对应文件。

可是,有时候,有些模型的这个页面中有很多个文件夹和文件,一个一个点着去下,让人崩溃。那么有没有什么好的方法呢?

一: 最推荐的方法:

         hf_hub_download() 

当然是这个函数啦,来自官方的函数,可以下载页面中所有的文件,并安照文件夹放好。 而且还可以筛选不想要的文件,具体看官网api。

Download files from the Hub

代码如下。  ‘bert-base-chinese’ 是网址后面那一截。 

a = snapshot_download(repo_id="bert-base-chinese")

a是返回的存储路径。 如果你想指定下载路径。

a = snapshot_download(repo_id="bert-base-chinese", cache_dir='v1-4')

如果你遇到

 requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url

这是因为有些模型,不是公开的,或者需要一些协议,必须登录才行。 (Bert是公开的)。

此时我们需要添加 readtoken, 其中, readtoken 是属于每个人自己的专属token,从huggiface 官网注册,然后点开setting, 点token。 即可创建属于自己的token ,复制到下面的代码里即可。 

 

 

read_token = 'hf_qh ???????????  '
a = snapshot_download(repo_id="bert-base-chinese", cache_dir='v1-4', use_auth_token=read_token)

 如果出现 

requests.exceptions.HTTPError: 404 Client Error: Not Found for url:

说明你网址输入错了, 注意是huggingface.co 后面 到tree前截至。

二: git clone

直接git clone +网址

不好用的地方在于, 这个方法不会下载权重文件。 需要手动下载或者联网使用

三: 

用模型当页推荐使用方法使用。   这个好像也得联网才能调用。 

from transformers import AutoTokenizer, AutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")

model = AutoModelForMaskedLM.from_pretrained("bert-base-chinese")

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐