我的网络有多重损失。我想只测试一定的损失。
我已将softmax切成softmax_1和softmax_2,并且只有softmax_1用于此特定损失。
### slice softmax into softmax_1: Nx6xHxW, softmax_2: Nx1xHxW
layer {
name: "slice_conv1_1_D"
type: "Slice"
bottom: "softmax"
top: "softmax_1"
top: "softmax_2"
slice_param
{
slice_dim: 1
slice_point: 6
}
}
但是,使用上面的切片层运行网络会使网络产生大量的softmax_2值,因为其他层没有使用它们。
我有什么方法可以分割我的数据" softmax"并且只保留" softmax_1"并丢弃" softmax_2"彻底?
非常感谢你的帮助。
添加了: 我知道我可能会将其他损失的loss_weight设置为0.但是,由于计算资源,我不想考虑这些选项。
答案 0 :(得分:4)
SilenceLayer正是您正在寻找的 - 它是一个特殊的"什么都不做"只接受输入但不产生任何输出的图层,保持日志清洁:
layer {
name: "silence"
type: "Silence"
bottom: "softmax_2"
}