需要把 训练 数据 x y 和 模型 损失函数criterion.to(device) 都放到 gpu上 模型内部基于tensor 的计算结果不用
用gpu
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
模型定义:
class BertClassificationModel(nn.Module):
def __init__(self):
super(BertClassificationModel, self).__init__()
model_class, tokenizer_class, pretrained_weights = (tfs.BertModel, tfs.BertTokenizer, 'bert-base-chinese')
self.tokenizer = tokenizer_class.from_pretrained(pretrained_weights)
self.bert = model_class.from_pretrained(pretrained_weights)
self.dense = nn.Linear(768, 2) #bert默认的隐藏单元数是768, 输出单元是2,表示二分类
def forward(self, input_ids,attention_mask):
bert_output = se