通过git clone批量下载huggingface模型和数据集


前言

想要下载huggingface的模型,却发现只能一个个文件下载非常不方便,又或者官方提供的api不好用或者下载不下来,这里提供一个通过git clone一次性下载整个数据集/模型下来的高效方法。


一、配置git全局代理【可选】

1.配置http或socks5代理

如果不使用代理clone非常慢,可以选择先配置git全局代理。在terminal中执行如下命令:

git config --global http.proxy 'http://127.0.0.1:此处换成http端口号'
git config --global https.proxy 'https://127.0.0.1:此处换成https端口号'
git config --global http.proxy 'socks5://127.0.0.1:此处换成socks5端口号'
git config --global https.proxy 'socks5://127.0.0.1:此处换成socks5端口号'

或在用户目录下的.gitconfig文件末尾加上:

[http]
 
proxy = socks5://127.0.0.1:此处换成socks5端口号
proxy = http://127.0.0.1:此处换成http端口号
 
[https]
 
proxy = socks5://127.0.0.1:此处换成socks5端口号
proxy = https://127.0.0.1:此处换成http端口号

2.取消代理配置

git config --global --unset http.proxy
git config --global --unset https.proxy

或删掉用户目录下.gitconfig文件里[http][https]后面的内容。

二、配置SSH【必要】

从 2023 年 10 月 1 日 开始,huggingface不再接受密码作为命令行 Git 操作的认证方式需要在个人设置页面添加 SSH 密钥。生成 SSH 密匙以及添加到个人账户的方法可以参照官方网站指引。

添加完成后在terminal中测试是否成功:

ssh -T git@hf.co

输出如下

Hi <你的用户名>, welcome to Hugging Face. # 成功
Hi anonymous, welcome to Hugging Face. # 失败,需要重新检查下 SSH 配置

三、下载步骤【必要】

1. 进入到你要下载的数据集(Dataset card)或模型(Model card)的Files目录下,然后从地址栏中复制url,如下图所示:
在这里插入图片描述

2. terminal中执行如下命令:

git clone '第1步中复制的url,将末尾的/tree/main换成.git'

如果所需要下载的文件较大,则需要使用git-lfs下载(安装及使用方法):

git lfs install
git lfs clone '第1步中复制的url,将末尾的/tree/main换成.git'

注意: 如果需要切换分支,同样只需要使用git-b参数下载对应的分支即可。

更新第二种方法

git lfs install
git clone git@hf.co:<MODEL ID> # example: git clone git@hf.co:allenai/objaverse

3. 等待clone完成
如果clone中断,恢复clone可以尝试如下命令:

git checkout branchname -- .

问题

在第一次clone的时候遇到了git LFS错误,不确定原因,顺便记录一下解决过程,错误如下:

error: external filter 'git-lfs filter-process' failed
fatal: xxxxxxxxx: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.

解决方法: Kerwen Blog

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值