如何加载自己的模型, 或是自己微调后的模型呢
要加载自己训练或微调后的模型,可以使用 Hugging Face 的 transformers
库和 PyTorch 的工具。这里是一个常见的流程,说明如何保存和加载自己的模型:
使用 transformers
和 PyTorch
1. 保存模型
在微调或训练模型后,您通常会保存模型的权重和配置信息。以下是保存 Transformer 模型的常用方法:
from transformers import AutoModelForSequenceClassification
# 假设你已经有一个训练好的模型
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
# 保存模型和配置
model.save_pretrained("./my_model")
2. 加载模型
要加载保存的模型,可以使用 from_pretrained
方法,指定模型文件所在的目录:
from transformers import AutoModelForSequenceClassification
# 加载你的自定义模型
model = AutoModelForSequenceClassification.from_pretrained("./my_model")
3. 加载 Tokenizer
通常,除了模型之外,还要保存和加载分词器(tokenizer),因为模型的输入格式化依赖于分词器。使用 transformers
,您可以这样做:
from transformers import AutoTokenizer
# 假设你已经有一个训练好的分词器
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
# 保存分词器
tokenizer.save_pretrained("./my_model")
# 加载分词器
tokenizer = AutoTokenizer.from_pretrained("./my_model")
使用 PyTorch 直接保存
如果您不使用 transformers
库,直接使用 PyTorch 来保存与加载自定义模型,以下为示例:
保存模型:
import torch
# 假设你有一个自定义的 PyTorch 模型
torch.save(model.state_dict(), "my_model_weights.pth")
加载模型:
import torch
from your_model_file import YourModelClass # 替换为你实际的模型类
model = YourModelClass()
model.load_state_dict(torch.load("my_model_weights.pth"))
model.eval() # 切换到评估模式
总结
无论您使用的是 Hugging Face 的 transformers
还是纯 PyTorch 的模型,这些步骤将帮助您保存和加载模型。确保保存的不仅是模型权重,还包括模型配置和分词器等,以确保模型可以在新的环境中无缝加载并使用。