mzolfaghari / ECO-efficient-video-understanding

Code and models of paper " ECO: Efficient Convolutional Network for Online Video Understanding", ECCV 2018
MIT License
437 stars 96 forks source link

how to set different "num_segments" #12

Closed Ai-is-light closed 6 years ago

Ai-is-light commented 6 years ago

@mzolfaghari Hi, I plan to train the custom dataset with the different "num_segments" for the speed & accuracy. And, I change the following information: (1) layer { name: "data" type: "VideoData" top: "data" top: "label" video_data_param {

source: ".../train.txt"

source: "./train_videofolder_new.txt"
batch_size: 1 #8 #16
new_length: 1
new_width: 320
new_height: 240
num_segments: 8 #16
modality: RGB
shuffle: true
name_pattern: "%05d.jpg"

} transform_param{ crop_size: 224 mirror: true fix_crop: true more_fix_crop: true multi_scale: true max_distort: 1 scale_ratios:[1,.875,.75, .66] is_flow: false mean_value: [104] mean_value: [117] mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

mean_value: [104]
mean_value: [117]
mean_value: [123]

} include: { phase: TRAIN } }

(2)

=================== 3D network ===========================================

layer {

name: "r2Dto3D"

type: "Reshape"

bottom: "inception_3c_double_3x3_1_bn"

top: "res2b_bn_pre"

reshape_param{

shape { dim: -1 dim: 16 dim: 96 dim: 28 dim: 28 }

}

}

layer { name: "r2Dto3D" type: "Reshape" bottom: "inception_3c_double_3x3_1_bn" top: "res2b_bn_pre" reshape_param{ shape { dim: -1 dim: 8 dim: 96 dim: 28 dim: 28 } } }

(3)

layer { name: "reshape_fc_st2" type: "Reshape" bottom: "global_pool2D" top: "reshape_fc_st2" #reshape_param { shape { dim: [-1, 1, 16, 1024] } } }

layer { name: "segment_consensus_st2" type: "Pooling" bottom: "reshape_fc_st2" top: "pool_fusion_st2" #pooling_param { pool: AVE kernel_h: 16 kernel_w: 1 } }

layer { name: "reshape_fc_st2" type: "Reshape" bottom: "global_pool2D" top: "reshape_fc_st2" reshape_param { shape { dim: [-1, 1, 8, 1024] } } } layer { name: "segment_consensus_st2" type: "Pooling" bottom: "reshape_fc_st2" top: "pool_fusion_st2" pooling_param { pool: AVE kernel_h: 8 kernel_w: 1 } }

However, I got the following error; I0823 11:47:52.993273 22 net.cpp:170] Top shape: 1 1024 (1024) I0823 11:47:52.993278 22 layer_factory.hpp:74] Creating layer global_pool I0823 11:47:52.993285 22 net.cpp:99] Creating Layer global_pool I0823 11:47:52.993289 22 net.cpp:479] global_pool <- res5b_bn I0823 11:47:52.993295 22 net.cpp:130] This layer is inheriting previous layer's sync mode: 1 I0823 11:47:52.993300 22 net.cpp:435] global_pool -> global_pool I0823 11:47:52.993306 22 net.cpp:163] Setting up global_pool F0823 11:47:52.993738 22 blob.cpp:32] Check failed: shape[i] >= 0 (-1 vs. 0) Check failure stack trace: @ 0x7f3e01c5c5cd google::LogMessage::Fail() @ 0x7f3e01c5e433 google::LogMessage::SendToLog() @ 0x7f3e01c5c15b google::LogMessage::Flush() @ 0x7f3e01c5ee1e google::LogMessageFatal::~LogMessageFatal() @ 0x7f3e01ff7878 caffe::Blob<>::Reshape() @ 0x7f3e020f5a7b caffe::PoolingLayer<>::Reshape() @ 0x7f3e0206deec caffe::CuDNNPoolingLayer<>::Reshape() @ 0x7f3e02135abd caffe::Net<>::Init() @ 0x7f3e0213821c caffe::Net<>::Net() @ 0x4118a3 time() @ 0x40e932 main @ 0x7f3e0066f830 __libc_start_main @ 0x40ef79 _start @ (nil) (unknown) Aborted (core dumped)

Looking forward to any replies. Thanks

Ai-is-light commented 6 years ago

Creating layer global_pool I0823 11:47:52.993285 22 net.cpp:99] Creating Layer global_pool I0823 11:47:52.993289 22 net.cpp:479] global_pool <- res5b_bn I0823 11:47:52.993295 22 net.cpp:130] This layer is inheriting previous layer's sync mode: 1 I0823 11:47:52.993300 22 net.cpp:435] global_pool -> global_pool I0823 11:47:52.993306 22 net.cpp:163] Setting up global_pool F0823 11:47:52.993738 22 blob.cpp:32] Check failed: shape[i] >= 0 (-1 vs. 0)

how set the following layer: ######################################### Global pool ############################################################ layer { name: "global_pool" bottom: "res5b_bn" top: "global_pool" type: "Pooling" pooling_param { pool: AVE kernel_size: [4, 7, 7] stride: [1, 1, 1] } }

mzolfaghari commented 6 years ago

Hi @Ai-is-light Please check the details here Please do not hesitate to reopen the issue if you had any problem.