美文网首页
Huggingface国内镜像

Huggingface国内镜像

作者: WritingHere | 来源:发表于2023-12-06 02:18 被阅读0次

    由于不知名原因,现在下载huggingface的模型和数据集非常慢,甚至无法下载。
    https://hf-mirror.com是一个非常好用的huggingface镜像,可以加速模型和数据集的下载,这里简要介绍其使用方法。

    假设这是我们加载模型的代码main.py

    import torch
    from transformers import BertModel
    model = BertModel.from_pretrained("bert-base-uncased")
    

    如果没有提前下载好模型,也没有设置镜像和proxy的话,直接运行python main.py可能无法下载。这里我们推荐使用非侵入式的方式设置环境变量,从而顺利从镜像站下载模型。以下是两种设置环境变量的方式,任选其一即可。

    • 永久环境变量设置
    1. .bashrc文件中添加一行:
      export HF_ENDPOINT=https://hf-mirror.com
    2. 执行source .bashrc
    3. 重新运行main.py,即可下载、加载模型。
    • 临时环境变量设置
    1. main.py文件的最前面添加以下代码:
    import os
    os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
    
    1. 重新运行main.py,即可下载、加载模型。

    除了能够进行模型的加载,huggingface镜像还可以加速数据集和大文件的下载,可以作为一个文件中转站,这里我们介绍如何使用huggingface镜像下载大文件

    准备工作

    需要提前注册一个huggingface账号,然后在https://huggingface.co/username中生成一个token,用于后续的上传、下载文件。

    需要安装git,git lfs工具

    创建仓库

    首先,需要在huggingface上创建一个仓库,用于存放上传的文件,可以选择模型或者数据集,这里以模型为例。点击右上角的New model,输入模型名称,选择Upload a model,然后点击Create repository
    这样就创建了一个仓库,可以看到仓库的地址,比如https://huggingface.co/username/model_name

    上传文件

    这里推荐使用命令行的方式上传文件。

    1. 克隆仓库:git clone https://hf-mirror.com/username/model_name
    2. 进入仓库:cd model_name
    3. 将要上传的文件放到仓库中,比如cp /path/to/model.bin .
    4. 跟踪大文件:git lfs track "*.bin",如果是其他类型的文件,可以修改*.bin为对应的文件类型,比如*.pth.*
    5. 提交文件:git add .git commit -m "add model"
    6. 上传文件:git push,这里的main是分支名称,如果是其他分支,可以修改为对应的分支名称。

    注意:如果上传文件失败,说明需要权限。我们使用上面生成的token,添加权限。
    git remote set-url origin https://<user_name>:<token>@hf-mirror.com/<repo_path>
    然后再上传。
    具体参考这里:https://huggingface.co/blog/password-git-deprecation

    上传成功后,可以在仓库主页中看到上传的文件。

    这里只展示了大文件的上传,如果是小文件,可以直接使用git addgit commitgit push上传。

    下载文件

    这里介绍命令行直接下载源目录的方法。
    首先,下载以下脚本:https://gist.githubusercontent.com/unikcc/9f146b74118ab194ca604b6733d82361/raw,命名为download.sh,并且加上可执行权限:chmod +x download.sh

    然后,将以下文件保存为run.sh

    #!/usr/bin/bash
    export HF_ENDPOINT="https://hf-mirror.com"
    ./down.sh username/model_name --hf_username xxx --hf_token hf_xxx --tool aria2c -x 4
    

    username/model_name替换为你要下载的文件的名称,例如facebook/bart-large-mnli
    最后,执行bash run.sh,即可下载文件。

    相关文章

      网友评论

          本文标题:Huggingface国内镜像

          本文链接:https://www.haomeiwen.com/subject/exxjgdtx.html