admin管理员组文章数量:1606537
AutoDL如何下载huggingface模型
文章目录
- AutoDL如何下载huggingface模型
- 方法一(AutoDL学术上网)
- 方法二(Colab+阿里网盘)
- 方法三(使用镜像):
本人使用AutoDL下载huggingface时,下面是我尝试过的一些方法,但有的方法对我来说没用,最后一种方法是最方便的,如果不想尝试前面的几种方法可以直接用最后一种。
方法一(AutoDL学术上网)
如果使用huggingface官网下载模型,首先需要利用token登陆,如果没有token,需要先在这里创建token,如果使用jupyter notebook,那就需要运行以下代码:
from huggingface_hub import notebook_login
notebook_login()
如果是.py文件就运行:
from huggingface_hub import login
login()
如果输入token后还是报错:
i-v2 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f88db505660>, ‘Connection to huggingface.co timed out. (connect timeout=None)’))"),
接下来我们需要利用AutoDL提供的学术加速功能,注意如果只是在本地使用ti子是没用的
如果在终端中使用:
source /etc/network_turbo
如果是在Notebook中使用:
import subprocess
import os
result = subprocess.run('bash -c "source /etc/network_turbo && env | grep proxy"', shell=True, capture_output=True, text=True)
output = result.stdout
for line in output.splitlines():
if '=' in line:
var, value = line.split('=', 1)
os.environ[var] = value
如果下载报错,可以尝试更新以下库:
pip install requests==2.27.1
pip install urllib3==1.25.11
但我更新了以上库之后使用from_pretrained或者下载safetensor还是报错了:
HTTPSConnectionPool(host='cdn-lfs-us-1.huggingface.co', port=443): Read timed out.
查阅资料后解释是模型太大,下载过程网路不稳定,需要关闭VPN,所以该方法对下载太大的模型可能行不通。
方法二(Colab+阿里网盘)
由于AutoDL和阿里网盘是可以相互传输数据的,所以就先通过colab将模型下载到阿里网盘,再将模型上传到AutoDL。
首先需要用过chrome浏览器登录阿里网盘官网(https://www.alipan/drive/),按F12进入控制台获取refresh_token。
然后运行下面的代码将模型下载到阿里云盘上:
- 安装并导入相关库
!pip install gradio bypy huggingface_hub aligo
import os
import shutil
import huggingface_hub as hh
import pandas as pd
- huggingface授权,如何获取token见方法一
from huggingface_hub import notebook_login
notebook_login()
- 下载你需要的模型
from huggingface_hub import snapshot_download
model_path = "./download/" #模型下载路径,可以改为你自己的,你可以在colab上创建一个download文件夹,将模型下载于此
snapshot_download(repo_id="bert-base-uncased", local_dir=model_path)
- 填入前面获取的fresh_token
from aligo import Aligo
refresh_token = "这里填入你的fresh_token"
ali = Aligo(refresh_token=refresh_token)
- 将模型上传到阿里云盘
ali.upload_folder(model_path)
之后我们就可以将阿里云盘的模型上传到AutoDL了,具体操作可以参考帮助文档。但是在下载模型的时候我遇到了一个问题,就是下载之后模型的大小与huggingface官网列出的模型大小不一致,即使去官网手动下载也是这样,下载的模型会偏小,从而导致以下报错:
SafetensorError: Error while deserializing header: HeaderTooSmall
目前还没有找到问题所在,希望知道的大佬指点一下,十分感谢。
方法三(使用镜像):
这种方法是最简单也是对我最有用的,只需要在下载模型前设置好镜像源即可,在导入transformer等与模型有关的库前运行如下语句:
import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror'
之后下载模型就畅通无阻了
参考资料:
-
如何快速下载huggingface模型——全方法总结
-
通过阿里云盘+colab下载 huggingface大模型
-
简单记录下在Autodl使用huggingface下载模型血泪经验
-
How to download a model from huggingface?
-
https://github/huggingface/transformers/issues/29177
本文标签: 模型如何下载AutoDLHuggingface
版权声明:本文标题:AutoDL如何下载huggingface模型 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728499784a1161056.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论