0

我有一个关于 simpleTransformers 的问题,我的下游任务有 2 个数据集,有 3 个选项:

1.附加2个数据集并将它们视为1个大数据集

model_1 = ClassificationModel("bert","bert-base-cased",args=train_args) 
all_dataset=dataset1+dataset2
model_1.train_model(all_dataset)

2.单独训练而不连接但在同一模型上

model_1 = ClassificationModel("bert","bert-base-cased",args=train_args) 
model_1.train_model(dataset1)
model_1.train_model(dataset2)

3. 单独训练而不连接但在同一个模型上,但定义了两次:(模型1和模型2完全相同,具有相同的超参数)model_1 = ClassificationModel("bert","bert-base-cased",args=train_args) model_2 = ClassificationModel("bert","bert-base-cased",args=train_args)

model_1.train_model(dataset1)
model_2.train_model(dataset2)

我的问题是:在选项 #2 中,它是否被视为 2 阶段训练,所以从这个意义上说,我不需要在测试时创建某种集成(我只会测试一次),但模型会微调两次? 第二次微调,即:第二次调用 model_1.train 不会取消第一次调用? 我对吗?还是将权重清除并返回到原始预训练的 bert 模型?

而在选项 3 中,我有 2 个不同的模型,所以我每次都会在一个单独的模型上测试两次,然后创建某种集合。

-另外,在 3 个选项中,您认为哪个是要走的路?

4

0 回答 0