1 需求
阶段一:模型下载
- 需求:自动下载模型和分词器
- 需求:手动导入模型和分词器
阶段二:模型使用
- 需求:pipeline使用预训练模型
阶段三:模型微调
- 需求:训练和评估
- 需求:测试
关键词:训练数据集、评估数据集、测试数据集
阶段四:模型部署
- 需求:上线
2 接口
3 自动下载模型与分词器
示例一:
from transformers import BertModel, BertTokenizer
# 指定模型和分词器的名称
model_name = 'bert-base-uncased'
# 指定下载路径
cache_dir = './my_models'
# 下载模型和分词器,并指定下载路径
model = BertModel.from_pretrained(model_name, cache_dir=cache_dir)
tokenizer = BertTokenizer.from_pretrained(model_name, cache_dir=cache_dir)
# 现在你可以使用模型和分词器进行推理或其他任务了
import os
os.environ['http_proxy'] = 'http://xxx.xxx.xxx'
os.environ['https_proxy'] = 'http://xxx.xxx.xxx'
import torch
from transformers import BertModel, BertTokenizer
# 加载预训练的模型和分词器
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
model = BertModel.from_pretrained('bert-base-chinese')
# 示例文本
text = "这是一个使用BERT进行中文文本处理的例子。"
# 对文本进行分词
inputs = tokenizer(text, return_tensors="pt") # 返回张量形式的输入
# 通过模型获取输出
with torch.no_grad(): # 不计算梯度以节省内存
outputs = model(**inputs)
# 输出最后一层的隐藏状态
last_hidden_states = outputs.last_hidden_state
# 获取文本的第一个标记(通常是[CLS]标记)的向量表示
text_embedding = last_hidden_states[:, 0]
print(text_embedding)
3 手动导入模型和分词器
- 模型权重文件:pytorch_model.bin 或 tf_model.h5
- 模型配置文件:config.json
- 分词器的词汇表文件:vocab.txt
- 分词器配置文件:tokenizer.json、tokenizer_config.json
当手动下载 Hugging Face 模型时,通常需要以下类型的文件:
一、模型权重文件
- PyTorch 格式(.bin 或.pt)
- 如果模型是基于 PyTorch 开发的,其权重文件通常以
.bin
或