pytorch - 如何使用 RoBERTa 执行多输出回归?
问题描述
我有一个问题陈述,我想使用文本输入预测多个连续输出。我尝试使用 HuggingFace 库中的“robertaforsequenceclassification”。但是文档指出,当最后一层的输出数量超过 1 时,会自动使用交叉熵损失,如此处所述:https ://huggingface.co/transformers/v2.2.0/model_doc/bert.html#变压器.BertForSequenceClassification。但我想在最后一层有两个类的回归设置中使用 RMSE 损失。怎么去修改它?
解决方案
BertForSequenceClassification
是一个小包装器,用于包装BERTModel
.
它调用模型,获取池化输出(输出元组的第二个成员),并对其应用分类器。代码在这里https://github.com/huggingface/transformers/blob/master/src/transformers/modeling_bert.py#L1168
最简单的解决方案是编写您自己的简单包装类(基于BertForSequenceClassification
类)帽子将执行回归,该回归将以您喜欢的损失进行回归。
推荐阅读
- python - 是否可以在 filter_by 之间使用 or_
- python - 如何在 Python 中动态打印列表
- git - BUG:有未合并的索引条目
- dialogflow-es - Dialogflow:如何根据用户请求通过 Google Translate API 自动翻译意图
- java - 运行测试脚本时出现 java.util.concurrent.TimeoutException
- react-native - 使用初始屏幕反应本机时不会出现图像
- xquery - eXist-db 更安全的替代 system:as-user() 来访问帐户元数据
- kubernetes - RBAC:具有多个命名空间的角色
- android - 不推荐使用 MediaStore.Images.Media.insertImage
- python - 未找到模块“psycopg2”“PostGreSQL”