python - 如何实现具有可变长度选择的 softmax 损失
问题描述
我正在尝试在 tensorflow 上实现 drqa 模型,我将在其中预测答案子字符串的开始和结束位置。所以有 [batch_size, max_time] 的概率输出,对应的上下文序列。现在我想应用 softmax 交叉熵损失,但序列是零填充的。所以我不希望填充被计入损失。有一些建议如何实施吗?谢谢你。
解决方案
使用权重。
tf.losses.softmax_cross_entropy(
labels,
logits,
weights=[1.]* actual_length + [0.]* (max_length - actual_length)
)
推荐阅读
- r - 覆盖文本颜色闪亮引导
- php - 调用 PHP 服务器端代码时如何在 Ajax 调用中使路径动态化
- php - 如果值相同,如何仅显示一次元值
- java - Wildfly 中的 ClassNotFoundException jdk.net.*
- java - EC2上的Spring Boot应用程序在一段时间后自动关闭
- python - 有没有办法在文件名中搜索非英文字母?
- android - 是否有新版本的 Xamarin.OpenId.AppAuth.Android?
- javascript - 如何在 Alpine.js 中刷新状态?
- c# - C# 动态加载具有每个字符串的动态类型参数和强类型结果的泛型类
- python - Discord.py 文本通道检查