pytorch - 如何使用 RoBERTa 执行多输出回归?

标签 pytorch regression huggingface-transformers bert-language-model

我有一个问题陈述,我想使用文本输入来预测多个连续输出。我尝试使用 HuggingFace 库中的“robertaforsequenceclassification”。但文档指出,当最后一层的输出数量超过 1 时,会自动使用交叉熵损失,如下所述:https://huggingface.co/transformers/v2.2.0/model_doc/bert.html#transformers.BertForSequenceClassification 。 但我想在最后一层有两个类的回归设置中使用 RMSE 损失。如何修改它?

最佳答案

BertForSequenceClassification 是一个包装 BERTModel 的小包装器。

它调用模型,获取池化输出(输出元组的第二个成员),并对其应用分类器。代码在这里https://github.com/huggingface/transformers/blob/master/src/transformers/modeling_bert.py#L1168

最简单的解决方案是编写您自己的简单包装类(基于 BertForSequenceClassification 类),它将执行回归,从而以您喜欢的损失进行回归。

关于pytorch - 如何使用 RoBERTa 执行多输出回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62255856/

相关文章:

nlp - 难以理解 Roberta 模型中使用的分词器

python - Huggingface Transformer - GPT2 从保存的检查点恢复训练

pytorch - 如何在 PyTorch 中使用多处理?

pytorch - 如何对此类张量使用 masked select?

python - PyTorch:是否可以区分矩阵?

python - 如何根据目标变量的预测使用 Seaborn 绘制线性回归?

python - tensorflow 随机森林回归

neural-network - 回归咖啡的测试标签,不允许 float ?

python - 如何检查一个对象是否是某个 PyTorch 优化器?

python - HuggingFace 保存加载模型 (Colab) 进行预测