【发布时间】:2016-05-18 13:13:18
【问题描述】:
我对 Caffe 很陌生,但想在我的项目中添加一个 maxout 层。网站上有一些关于maxout的代码,比如
implement maxout with caffe
我的代码在这里:
layers {
name: "conv1"
type: CONVOLUTION
bottom: "data"
top: "conv1"
blobs_lr: 1
blobs_lr: 2
weight_decay: 1
weight_decay: 0
convolution_param {
num_output: 16
kernel_size: 9
stride: 1
}
}
layers {
name: "slice1"
type: "Slice"
bottom: "Conv1"
top: "slice1A"
top: "slice1B"
top: "slice1C"
top: "slice1D"
slice_param{
axis: 1
slice_point: 4
slice_point: 8
slice_point: 12
}
}
layers {
name: "maxout1"
type: ELTWISE
bottom: "slice1A"
bottom: "slice1B"
bottom: "slice1C"
bottom: "slice1D"
top: "maxout1"
eltwise_param {
operation:MAX
}
}
这里,我使用SLICE层将conv1层一分为四,做ELTWISE操作。会有四个输出,但我不知道 slice1A、slice1B、slice1C 和 slice1D 如何做MAX操作。
下图是我的看法。
ELTWISE diagram of this code snippet
非常感谢!
【问题讨论】:
-
你到底有什么不明白的?
-
首先,谢谢。我是stackoverflow的新手,我的英语不是很好。这是我在stackoverflow中提出的第一个问题。我很高兴看到你的评论。谢谢
-
caffe 中的 ELTWISE 层可以帮助我实现 maxout(作者:Ian J. Goodfellow)层。但我不知道如何使用 ELTWISE 层。如上代码所示,如何理解bottom:"conv1A"和bottom:"conv1B"在maxout1层做maxout操作。顺便问一下,你能有一些关于 ELTWISE 的教程吗?非常感谢!
-
看起来你得到的答案几乎涵盖了ELTWISE层
-
你是说maxpool吗?
标签: machine-learning deep-learning caffe