解决git与huggingface项目下载速度慢或者失败的问题
git clone 项目报错
比如使用git clone 下载项目:
git clone https://github.com/ChuRuaNh0/FastSam_Awsome_TensorRT.git
有时候会报以下错误:
fatal: unable to access ‘https://github.com/xxx.git/’: Failed to connect to github.com port 443 after 21085 ms: Couldn’t connect to server
fatal: unable to access ‘https://github.com/xxx.git/’: Recv failure: Connection was reset
出现这种是错误,如果有开了代理,大概率是由于代理出了问题,如果没有开代理,就是连接git的问题,最简单的解决办法是有代理就关掉代理,没有开过代理的,就多试几次看看是否能成功。
关掉之后或者多试了几次都不能下载的话,那就要想另外的办法,比如可以使用使用码云做桥接。
码云(Gitee)是国内的一个类似于 GitHub 的代码托管平台,提供基于 Git 版本控制的代码托管服务、项目协作、代码审查、问题跟踪等功能。
- 代码托管: 可以创建公开或私有的代码仓库,方便团队协作和版本控制。
- 项目管理: 提供项目管理工具,包括问题跟踪、Wiki、任务列表等,便于团队协作和项目管理。
- 代码质量管理: 支持代码在线查看、代码检查、合并请求(Pull Request)等功能,有助于提高代码质量和合作开发。
- 权限管理: 可以灵活设置仓库的访问权限、成员管理等。
- 持续集成与部署(CI/CD): 支持持续集成和自动化部署,可集成多种 CI/CD 工具。
- 社区和交流: 提供用户社区、问答、论坛等交流平台,方便开发者互动交流。
首先要注册一个账号,注册完成之后,创建一个新的仓库:
选择导入项目,把git上要clone项目的地址粘贴过来:
选择"从URL导入",然后选择导入,不用一分钟就导入完成。
导入完成之后,就可以使用git clone下载项目代码:
git clone https://gitee.com/matt45m/human.git
下载速度直接起飞:
huggingface连接不到服务器的问题
fatal: unable to access ‘https://huggingface.co/csukuangfj/xxxxxx/’: Failed to connect to huggingface.co port 443 after 21054 ms: Couldn’t connect to server
代码下载
安装依赖
pip install pycrawlers
编写代码
from pycrawlers import huggingface
hg = huggingface()
# 1.批量下载
urls = ['https://huggingface.co/csukuangfj/sherpa-ncnn-conv-emformer-transducer-2022-12-06',
'xxxx']
# 默认保存位置在当前脚本所在文件夹 ./
hg.get_batch_data(urls)
# 2.单个下载
url = 'https://huggingface.co/csukuangfj/sherpa-ncnn-conv-emformer-transducer-2022-12-06'
hg.get_data(url)
直接下载
也可以直接到到模型的huggingface地址下载:
命令行代理
如果有使用魔法上网,可以使用命令行代码,解决所有命令行连不上外网的问题:
#建议socks5 和http 都配置一下
#配置socks5
git config --global http.proxy socks5 127.0.0.1:xxxx
git config --global https.proxy socks5 127.0.0.1:xxxx
#配置http
git config --global http.proxy 127.0.0.1:xxxx
git config --global https.proxy 127.0.0.1:xxxx
# 主机号 127.0.0.1是使用的魔法上网的主机号
# 端口号 xxxx 指魔法上网的端口号,软件设置里查看,在魔法上网的配置里面可以找到
查看设置:
git config --global --get http.proxy
git config --global --get https.proxy
取消办法:
git config --global --unset http.proxy
git config --global --unset https.proxy