Huggingface國內(nèi)鏡像

由于不知名原因,現(xiàn)在下載huggingface的模型和數(shù)據(jù)集非常慢,甚至無法下載。
https://hf-mirror.com是一個(gè)非常好用的huggingface鏡像,可以加速模型和數(shù)據(jù)集的下載,這里簡要介紹其使用方法。

假設(shè)這是我們加載模型的代碼main.py

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

如果沒有提前下載好模型,也沒有設(shè)置鏡像和proxy的話,直接運(yùn)行python main.py可能無法下載。這里我們推薦使用非侵入式的方式設(shè)置環(huán)境變量,從而順利從鏡像站下載模型。以下是兩種設(shè)置環(huán)境變量的方式,任選其一即可。

  • 永久環(huán)境變量設(shè)置
  1. .bashrc文件中添加一行:
    export HF_ENDPOINT=https://hf-mirror.com
  2. 執(zhí)行source .bashrc
  3. 重新運(yùn)行main.py,即可下載、加載模型。
  • 臨時(shí)環(huán)境變量設(shè)置
  1. main.py文件的最前面添加以下代碼:
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
  1. 重新運(yùn)行main.py,即可下載、加載模型。

除了能夠進(jìn)行模型的加載,huggingface鏡像還可以加速數(shù)據(jù)集和大文件的下載,可以作為一個(gè)文件中轉(zhuǎn)站,這里我們介紹如何使用huggingface鏡像下載大文件

準(zhǔn)備工作

需要提前注冊一個(gè)huggingface賬號,然后在https://huggingface.co/username中生成一個(gè)token,用于后續(xù)的上傳、下載文件。

需要安裝git,git lfs工具

創(chuàng)建倉庫

首先,需要在huggingface上創(chuàng)建一個(gè)倉庫,用于存放上傳的文件,可以選擇模型或者數(shù)據(jù)集,這里以模型為例。點(diǎn)擊右上角的New model,輸入模型名稱,選擇Upload a model,然后點(diǎn)擊Create repository。
這樣就創(chuàng)建了一個(gè)倉庫,可以看到倉庫的地址,比如https://huggingface.co/username/model_name。

上傳文件

這里推薦使用命令行的方式上傳文件。

  1. 克隆倉庫:git clone https://hf-mirror.com/username/model_name
  2. 進(jìn)入倉庫:cd model_name
  3. 將要上傳的文件放到倉庫中,比如cp /path/to/model.bin .
  4. 跟蹤大文件:git lfs track "*.bin",如果是其他類型的文件,可以修改*.bin為對應(yīng)的文件類型,比如*.pth.*
  5. 提交文件:git add .,git commit -m "add model"
  6. 上傳文件:git push,這里的main是分支名稱,如果是其他分支,可以修改為對應(yīng)的分支名稱。

注意:如果上傳文件失敗,說明需要權(quán)限。我們使用上面生成的token,添加權(quán)限。
git remote set-url origin https://<user_name>:<token>@hf-mirror.com/<repo_path>
然后再上傳。
具體參考這里:https://huggingface.co/blog/password-git-deprecation

上傳成功后,可以在倉庫主頁中看到上傳的文件。

這里只展示了大文件的上傳,如果是小文件,可以直接使用git add、git commit、git push上傳。

下載文件

這里介紹命令行直接下載源目錄的方法。
首先,下載以下腳本:https://gist.githubusercontent.com/unikcc/9f146b74118ab194ca604b6733d82361/raw,命名為download.sh,并且加上可執(zhí)行權(quán)限: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
最后,執(zhí)行bash run.sh,即可下載文件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容