How can I implement maxout with caffe?

1,013 views
Skip to first unread message

Erogol

unread,
Feb 7, 2015, 6:53:21 AM2/7/15
to caffe...@googlegroups.com
I tried to do something like this;

layers {
name: "conv1A"
type: CONVOLUTION
bottom: "data"
top: "conv1A"
blobs_lr: 1
blobs_lr: 2
weight_decay: 1
weight_decay: 0
convolution_param {
num_output: 48
kernel_size: 9
stride: 1
}
}
layers {
name: "conv1B"
type: CONVOLUTION
bottom: "data"
top: "conv1B"
blobs_lr: 1
blobs_lr: 2
weight_decay: 1
weight_decay: 0
convolution_param {
num_output: 48
kernel_size: 9
stride: 1
}
}
layers {
name: "maxout1"
type: ELTWISE
bottom: "conv1A"
bottom: "conv1B"
top: "maxout1"
eltwise_param {
operation:MAX
}
}

Do you think, it is true?

Pan.H.BestSonny

unread,
Feb 10, 2015, 10:03:00 AM2/10/15
to caffe...@googlegroups.com
I think you can use a splice layer to splice by the channel and then eltwise.

Eren Gölge

unread,
Feb 10, 2015, 10:16:49 AM2/10/15
to Pan.H.BestSonny, caffe...@googlegroups.com
Is it slice or splice layer ? What is splice layer doing exactly here? Is eltwise layer takes each channel output separately?

On Tue, Feb 10, 2015 at 5:03 PM, Pan.H.BestSonny <mybes...@gmail.com> wrote:
I think you can use a splice layer to splice by the channel and then eltwise.

--
You received this message because you are subscribed to a topic in the Google Groups "Caffe Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/caffe-users/-vWtvS7N5BM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to caffe-users...@googlegroups.com.
To post to this group, send email to caffe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/caffe-users/cb0dd02d-6806-4965-b1da-794fc6cbc8d0%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Best
Eren Golge

Pan.H.BestSonny

unread,
Feb 10, 2015, 11:00:17 AM2/10/15
to caffe...@googlegroups.com, mybes...@gmail.com
Sorry about the splice.....           it's slice layer  ------>   split your blob along channel or num  --------->  .so you can split for example a blob 96*128*5*5 along( for example)  the channel ----------------> then you will get two blob each with 96*64*5*5.----------->then eltwise the both blob you'll get 96*64*5*5
---->then dropout 
在 2015年2月10日星期二 UTC+8下午11:16:49,Erogol写道:

Guoliang Kang

unread,
Aug 15, 2015, 7:30:40 AM8/15/15
to Caffe Users, mybes...@gmail.com
I do not think it is correct or suitable. Because if you want to split the channels into two groups, just like the example you have talked, the final blob we want to get is 96*2*5*5, not 96*64*5*5. This kind of operation you have talked is equal to splitting the channels into 64 groups, right? Do you think if I have some misunderstanding about Maxout?

在 2015年2月11日星期三 UTC+11上午3:00:17,Pan.H.BestSonny写道:
Reply all
Reply to author
Forward
0 new messages