tensorflow - 初始化最后一层的偏置项
问题描述
我正在阅读有关焦点损失的博客。在该部分Focal Loss Trick
中它说:
Facebook AI Research 使用的是将最后一层的偏差项初始化为某个非零值,使得正样本的 pt 小而负样本的 pt 大。具体来说,他们设置了偏置项 b=−log((1−π)/π)。这里 π 只是可变的,而不是普通的 π。在他们的例子中,他们设置 π=0.01,因此 b≫wx。
我想使用 tensorflow 对象检测 api 做同样的事情。在这里,焦点损失由配置文件中的以下行给出:
损失 {分类损失{加权_sigmoid_focal {阿尔法:0.25伽马:2.0}}}
但我不知道如何将最后一层的偏置项设置为某个非零值。如何在张量流中实现它?
解决方案
它class_prediction_bias_init
在box_predictor
. 因此,配置文件将如下所示:
box_predictor {
weight_shared_convolutional_box_predictor {
class_prediction_bias_init: -1.99
}
}
推荐阅读
- mysql - 在一张桌子上比较两个多月之间客户的演变
- php - 在 HTML 文件中使用 PHP 显示 PDF
- python - 在套索模型中创建 DF
- ruby - 在Ruby中使字符串输出到终端不可删除
- amazon-web-services - 使用 cdk 将 KMS 密钥添加到 lambda 环境
- c# - 如何仅通过 C# 中的 XmlSerializer 使属性可见(范围、访问修饰符)?
- python - 'int' 对象在我的 AI 项目中不可下标
- typescript - 兄弟函数的通用参数的打字稿推断
- docker - docker-compose 挂载的卷为空,但在 Docker 映像构建期间创建的其他卷已填充
- python - Django从另一个表中过滤对象外键