bert做多标签分类的代码例子
时间: 2023-08-02 12:11:32 浏览: 101
以下是BERT在多标签分类任务中的代码示例,以PyTorch为例:
```python
import torch
from transformers import BertTokenizer, BertForSequenceClassification
# 加载BERT模型和tokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=6)
# 准备数据
texts = ['This is a positive sentence', 'This is a negative sentence']
labels = [[1, 0, 1, 0, 0, 1], [0, 1, 0, 1, 1, 0]]
# 对文本进行tokenize和padding
inputs = tokenizer(texts, padding=True, truncation=True, return_tensors="pt")
# 将标签转换为tensor
labels = torch.tensor(labels)
# 在模型上进行训练
outputs = model(**inputs, labels=labels)
# 输出loss
loss = outputs.loss
print(loss)
```
在这个示例中,我们使用了BertForSequenceClassification模型,同时设置了num_labels参数为6,表示我们有6个标签。然后,我们准备了两个文本和对应的标签,并使用tokenizer对文本进行了tokenize和padding。接着,我们将标签转换为tensor,并将文本和标签传入模型进行训练,最后输出loss。在训练完成后,我们可以使用模型对新的文本进行预测,并输出概率值。
阅读全文