创建model的方法
automodel创建预训练模型
使用automodel直接创建,使用的是hug face官网上的预训练好的模型参数,完成创建后再使用自己本地的数据集进行迁移训练
automodel api 去官网上下载用户指定类型模型的config file 和model file,config说明了如何创建模型,model包括该模型的参数。
automodel api首先根据config去创建model类,再实例化model并随机初始化其参数
最后采用model file里面的参数来修改model 实例
代码:
import transformers
model = AutoModel.from_pretrained("bert-base-uncased")
config的样子:它是创建模型的蓝图
autoconfig创建初始化模型
autoconfig api 直接去官网下载相应的模型的config file,并且按照该标准初始化一个config class,使用该config class可以实例化一个模型,但此时模型是随机初始化的,需要用户自己找大量数据去从头开始训练,很麻烦、不环保
代码:
import Transformers
my_config = AutoConfig.from_pretrained("bert-base-uncased")
model = AutoModel(my_config)
使用特定类创建模型,不推荐这样做,因为实际做项目的时候总是换各种模型,还是推荐用auto api
from Transformers import BertConfig
my_config = BertConfig.from_pretrained("bert-base")
model = BertModel(my_config)
在创建模型的时候还可以自己修改参数:
import Transformers
my_config = BertConfig.from_pretrained("bert-base")
# my_config = BertConfig()
model = BertModel(my_config, num_hidden_layers=10)
保存model的方法
from Transformers import BertConfig
my_config = BertConfig.from_pretrained("bert-base")
model = BertModel(my_config)
# training model
# 保存模型
model.save_pretrained("directory_on_my_computer")
# 重新加载自己训练的模型
model2 = BertModel.from_pretrained("directory_on_my_computer")
在directory_on_my_computer文件夹下有这两个文件:
config.json
pytorch_model.bin