使用记录1
代码采用如下链接的,并做了微改
数据集使用的是情感分析数据集,有测试集、验证集和训练集,忘了哪下的了,找到链接会发出来。
首先说一下遇到的问题,上面的代码没问题,主要的问题出在数据集的读取上,因为这个是.data文件,用了numpy和pandas库读取均出现错误,而且数据集的打开方式如果直接用txt方式打开会是乱码,谷歌了一下,最后采用的方法很直接,直接在.data后面加.txt,能成功打开并且格式不乱,很神奇,修改model里面的数据集路径,直接用bert模型跑,下面是参数不同时,loss和acc的变化表。
环境为 3060 6G python=3.7
torch 1.10.1+cu113
torchtext 0.11.2
torchvision 0.11.2+cu113
self.require_improvement = 1000 # 若超过1000batch效果还没提升,则提前结束训练
self.num_classes = len(self.class_list) # 类别数
self.num_epochs = 10 # epoch数
self.batch_size = 64#128 # mini-batch大小
self.pad_size = 32 # 每句话处理成的长度(短填长切)
self.learning_rate = 5e-5 # 学习率
self.bert_path = './bert_pretrain'
self.tokenizer = BertTokenizer.from_pretrained(self.bert_path)
self.hidden_size = 768
预训练模型从这里下,我采用的是chinese_wwm_pytorch模型,链接找到就放抱抱脸https://huggingface.co/models
首先先进行小规模测试,epoch=2,batchsize=64,其他不变,Test Loss: 0.69, Test Acc: 54.43%
然后增加参数,epoch=10,batchsize=64,Test Loss: 0.24, Test Acc: 91.71%
如果降低padsize会降低acc
采用bert-base-uncasedhttps://huggingface.co/bert-base-uncased
Test Loss: 0.54, Test Acc: 74.56%