从Hugging Face中下载数据集、模型到本地

1、查看本地代理

在这里插入图片描述

2、下载数据集

将https://huggingface.co/datasets/YeungNLP/firefly-train-1.1M数据集下载到本地

import os
import json
from datasets import load_dataset

###设置代理,本地vpn
os.environ["http_proxy"] = "http://127.0.0.1:21882"
os.environ["https_proxy"] = "http://127.0.0.1:21882"

dataset = load_dataset("YeungNLP/firefly-train-1.1M")
dataset.save_to_disk("dataset/Salesforce/dialogstudio") # 保存到该目录下
print(len(dataset['train']))
print(dataset['train'][3])

with open('./dataset/data.json', 'w', encoding='utf-8') as fp:
    num = 0
    for i in range(len(dataset['train'])):
        if dataset['train'][i]['kind'] == 'Couplet':
            fp.write(json.dumps({'input': dataset['train'][i]['input'], 'output': dataset['train'][i]['target']},
                                ensure_ascii=False))
            fp.write('\n')
            num += 1
            print(f"已写入{num}条")

数据类型如下:
在这里插入图片描述
上述代码只读取对联数据,结果如下:
在这里插入图片描述

3、下载模型

3.1、直接下载到本地并加载

from transformers import T5Tokenizer, T5ForConditionalGeneration

os.environ["http_proxy"] = "http://127.0.0.1:21882"
os.environ["https_proxy"] = "http://127.0.0.1:21882"

# 首先,下载并保存tokenizer和模型
tokenizer = T5Tokenizer.from_pretrained("t5-small", cache_dir="./t5_model_v1")
model = T5ForConditionalGeneration.from_pretrained("t5-small", cache_dir="./t5_model_v1")
input_text = "translate English to German: How old are you?"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))

结果如下:
在这里插入图片描述在这里插入图片描述

3.2、从Hugging Face中手动下载指定好的模型文件到本地并加载

from transformers import T5Tokenizer, T5ForConditionalGeneration
import os

os.environ["http_proxy"] = "http://127.0.0.1:21882"
os.environ["https_proxy"] = "http://127.0.0.1:21882"

tokenizer = T5Tokenizer.from_pretrained("t5_model_v2")
model = T5ForConditionalGeneration.from_pretrained("t5_model_v2")

input_text = "translate English to German: How old are you?"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))

下载模型如下配置:
在这里插入图片描述
结果如下:
在这里插入图片描述

要从 Hugging Face 下载模型本地目录,可以使用 `huggingface_hub` 提供的命令行工具或 Python API。以下是几种常见的方法: ### 方法一:使用 `huggingface-cli` 命令行工具下载模型 通过 `huggingface-cli` 可以直接在终端中下载模型,并指定本地存储路径。 ```bash huggingface-cli download --cache-dir /path/to/local/directory model_name ``` - `/path/to/local/directory` 是你希望保存模型本地目录。 - `model_name` 是你要下载模型名称(例如 `bert-base-uncased`)。 如果网络不稳定,可以使用 `--resume-download` 参数进行断点续传 [^2]: ```bash huggingface-cli download --cache-dir /path/to/local/directory --resume-download model_name ``` --- ### 方法二:使用 Python 脚本下载模型并指定本地路径 可以通过编程方式加载模型并指定本地缓存路径,示例如下: ```python from transformers import AutoModel, AutoTokenizer model_name = "bert-base-uncased" local_directory = "./local_model_directory" # 加载模型和分词器 tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModel.from_pretrained(model_name) # 保存到本地目录 tokenizer.save_pretrained(local_directory) model.save_pretrained(local_directory) ``` 这段代码将模型下载后保存至指定的本地文件夹。如果模型已经下载过,后续运行会从本地加载。 --- ### 方法三:加速下载(推荐) 对于大模型数据集,推荐安装加速工具来提高下载速度。可以升级 `huggingface_hub` 并结合其他工具优化下载流程 [^1]: ```bash pip install --upgrade huggingface_hub ``` 此外,可使用第三方工具如 `aria2` 或 `Axel` 多线程下载模型文件,提高下载效率。 --- ### 方法四:查看本地缓存模型信息 Hugging Face 默认将模型缓存于 `~/.cache/huggingface/hub/` 目录中。你可以手动删除某个模型缓存以便重新下载 [^2]: ```bash rm -rf ~/.cache/huggingface/hub/models--username--model_name ``` 替换 `username` 和 `model_name` 为实际用户名与模型名即可。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值