ND convolution and pooling readibility and C3D model

261 views
Skip to first unread message

Du Tran

unread,
Jul 20, 2015, 2:11:59 PM7/20/15
to caffe...@googlegroups.com
Hello everyone,

I have not been updated with caffe recently but saw some threats/PRs about N-d convolution and pooling. I wonder if they are stable and ready to use. If so, I'm happy to write/convert C3D pre-trained model (http://vlg.cs.dartmouth.edu/c3d/) to contribute it to the model-zoo.


Thanks,
Du

Evan Shelhamer

unread,
Aug 9, 2015, 3:51:01 PM8/9/15
to Du Tran, caffe...@googlegroups.com
They're not yet merged, but watch PRs #2049 and #2442 for N-D convolution and pooling. They are already in use in side branches but not yet bundled and supported in master.

Evan Shelhamer

--
You received this message because you are subscribed to the Google Groups "Caffe Users" group.
To unsubscribe from this group and stop receiving emails from it, 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/4ad6939b-1c77-4749-8c27-9b8ee310c1d7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chuck Cho

unread,
Mar 10, 2016, 10:34:52 AM3/10/16
to Caffe Users
For those who are interested, I took a stab at adding C3D into recent Caffe. Specifically I've pulled in or rewrote Nd pooling, a video reader, and an example script for training C3D model on UCF-101, available @ https://github.com/chuckcho/video-caffe. The training seems to be working fine.

Chuck

Jacques

unread,
May 30, 2016, 10:06:30 AM5/30/16
to Caffe Users
Hi Du Tran,

have you trained C3D model with updated caffe? 

Recently, I've found PR #3983, which is not merged yet but works quite well. With this PR, I obtained the results you indicated in your article using ucf101. (I met some difficulties to get the database sport1m so I didn't train the model with sport1m.) 

This is some example with this PR.
layer {
    name: "conv1a"
    type: "Convolution"
    bottom: "data"
    top: "conv1a"
    param {
        lr_mult: 1
        decay_mult: 1
    }
    param{
        lr_mult: 2
        decay_mult: 0
    }

    convolution_param {
        num_output: 64 
        # specifies the index of the "channels" axis --
        # may be omitted as 1 is the default
        # axis: 1

        kernel_size: 3
        pad: 1
        stride: 1

        kernel_size: 3
        pad: 1
        stride : 1

        kernel_size: 3
        pad: 1
        stride: 1
        weight_filler {
            type: "gaussian"
            std: 0.01
        }
        bias_filler {
            type: "constant"
            value: 0
        }
    }
}
layer {
    name: "relu1"
    type: "ReLU"
    bottom: "conv1a"
    top: "conv1a"
}
layer {
    name: "pool1"
    type: "Pooling"
    bottom: "conv1a"
    top: "pool1"
    pooling_param {
        pool: MAX

        kernel_size: 1
        pad: 0
        stride: 1

        kernel_size: 2
        pad: 0
        stride : 2

        kernel_size: 2
        pad: 0
        stride: 2

    }

}

So if you could share the pre-trained model but haven't done it yet, hope this PR could help you. 

Hope you could train the model with updated caffe and share with us. Thanks a lot.

Jacques.

在 2015年7月20日星期一 UTC+2下午8:11:59,Du Tran写道:

Chuck Cho

unread,
May 31, 2016, 11:15:26 AM5/31/16
to Caffe Users
Jacques,

Could you elaborate a bit how you trained C3D model with UCF101 data? E.g. how you load videos in Caffe (did you write a video reader layer?), how you implemented *length* (or temporal) dimension in Caffe?
Thanks.

Chuck
Reply all
Reply to author
Forward
0 new messages