换源下载huggingface上的模型

自己用huggingface的transformers库跑示例的时候发现一直time out,可能是需要翻墙的原因,但我用的是某平台的计算资源,只能在jupyter里面操作,于是想试试换源。搜索之后,发现可以从镜像网站上快速进行git下载。具体操作如下:

首先得安装git-lfs,可用如下命令

sudo apt install git-lfs

然后检验一下是否能成功初始化

git lfs install

成功的话会出现Git LFS initialized.

如果出现了Error: Failed to call git rev-parse --git-dir --show-toplevel: "fatal: not a git repository (or any of the parent directories): .git\n",说明还未进行初始化,可以用

git init

初始化当前目录为git仓库,然后再git lfs install。

然后从镜像网站上下载你想要的模型,我使用的是https://hf-mirror.com/,比如想下载CodeLlama-7b-Python-hf,则用如下命令

git clone https://hf-mirror.com/codellama/CodeLlama-7b-Python-hf

要从 Hugging Face 平台下载预训练模型,可以通过其 `Transformers` 库提供的 `from_pretrained` 方法轻松实现。以下是具体的操作步骤和代码示例: ### 使用 Transformers 库下载模型 1. 安装必要的库(如果尚未安装): ```bash pip install transformers ``` 2. 使用 Python 脚本下载模型。以下是一个使用 `AutoModel` 和 `AutoTokenizer` 下载 `bert-base-uncased` 模型的示例: ```python from transformers import AutoTokenizer, AutoModel # 指定模型名称 model_name = "bert-base-uncased" # 初始化 Tokenizer tokenizer = AutoTokenizer.from_pretrained(model_name) # 编码输入文本 text = "This is a test sentence." encoded_input = tokenizer.encode(text, return_tensors="pt") print("Encoded input:", encoded_input) # 下载并加载模型 model = AutoModel.from_pretrained(model_name) # 获取模型输出 output = model(encoded_input) print("Model output:", output) ``` ### 指定本地存储路径 如果你希望将模型保存到特定的本地路径,而不是默认的缓存目录,可以使用 `cache_dir` 参数来指定存储路径: ```python from transformers import AutoTokenizer, AutoModel model_name = "bert-base-uncased" cache_dir = "./models" # 自定义模型存储路径 # 指定 cache_dir 参数 tokenizer = AutoTokenizer.from_pretrained(model_name, cache_dir=cache_dir) model = AutoModel.from_pretrained(model_name, cache_dir=cache_dir) ``` 此方法会将模型文件下载并保存到 `./models` 目录下,避免默认存储在用户目录中。 ### 使用镜像源加速下载(适用于国内用户) 由于网络原因,国内用户可能无法顺畅访问 Hugging Face 的官方源。可以使用国内镜像源加速模型下载,例如官方推荐的镜像 `https://hf-mirror.com` 或其他国内镜像源。 使用方法如下: ```python from transformers import AutoTokenizer, AutoModel # 使用镜像源 model_name = "bert-base-uncased" mirror_url = "https://hf-mirror.com/models/{}/resolve/main/config.json".format(model_name) # 指定 `revision` 参数为镜像地址 tokenizer = AutoTokenizer.from_pretrained(model_name, revision="main", mirror="https://hf-mirror.com") model = AutoModel.from_pretrained(model_name, revision="main", mirror="https://hf-mirror.com") ``` 此外,也可以通过设置环境变量 `HF_ENDPOINT` 来全局使用镜像源: ```bash export HF_ENDPOINT=https://hf-mirror.com ``` ### 使用 CLI 命令行工具下载模型 Hugging Face 还提供了命令行工具 `huggingface-cli`,可以通过以下方式下载模型: 1. 安装 Hugging Face CLI 工具: ```bash pip install huggingface_hub ``` 2. 使用命令行下载模型: ```bash huggingface-cli download bert-base-uncased --repo-type model --revision main ``` 该命令会将 `bert-base-uncased` 模型下载到当前目录。 ### 模型缓存机制 Hugging Face 默认会将模型缓存到本地路径(如 `~/.cache/huggingface/transformers`)[^3],以避免重复下载。如果你希望强制重新下载模型,可以使用 `force_download=True` 参数: ```python from transformers import AutoModel model = AutoModel.from_pretrained("bert-base-uncased", force_download=True) ``` 这将忽略本地缓存并强制从远程服务器下载模型。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值