Code Monkey home page Code Monkey logo

c3d's People

Contributors

abuccts avatar antran89 avatar dutran avatar firmamentqj avatar justveryromatic avatar kartikeyash avatar liangxu123 avatar mattphillipskitware avatar nathandemaria avatar omair18 avatar pientars avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c3d's Issues

pretrained fbvideo model

Great paper, thanks for making the source code available! Is the pretrained fbvideo model (that corresponds to the prototxt "c3d_fbvideo_feature_extractor_frm/video.prototxt") made available as well?

compute frame mean file failed

hi du,i use ffmpeg to extract frames from videos,here is some examples of my frames :
000001.jpg 000021.jpg 000041.jpg 000061.jpg 000081.jpg 000101.jpg 000121.jpg 000141.jpg 000161.jpg 000181.jpg

and i use the train_01.lst in your c3d_finetuning fiels ,the path is right,when i run the create_volume_mean file,there some error:

I1202 14:35:56.476048 31451 compute_volume_mean_from_list.cpp:53] using dropping rate 10
I1202 14:35:56.476285 31451 compute_volume_mean_from_list.cpp:81] Starting Iteration
E1202 14:35:56.595129 31451 compute_volume_mean_from_list.cpp:107] Processed 10000 files.
E1202 14:35:56.599031 31451 compute_volume_mean_from_list.cpp:113] Processed 10725 files.
I1202 14:35:56.599041 31451 compute_volume_mean_from_list.cpp:120] Write to ucf101_train_mean.binaryproto
I1202 14:35:56.599046 31451 compute_volume_mean_from_list.cpp:121] sum blob num: 1
I1202 14:35:56.599051 31451 compute_volume_mean_from_list.cpp:122] sum blob channels: 3
I1202 14:35:56.599056 31451 compute_volume_mean_from_list.cpp:123] sum blob length: 16
I1202 14:35:56.599061 31451 compute_volume_mean_from_list.cpp:124] sum blob height: 0
I1202 14:35:56.599064 31451 compute_volume_mean_from_list.cpp:125] sum blob width: 0

I add some test print in cpp. and I check the compute_volum_mean_from_list.cpp:

ReadImageSequenceToVolumeDatum(frm_dir.c_str(), start_frm, label, length, height, width, sampling_rate, &datum);
69 sum_blob.set_num(1);
70 sum_blob.set_channels(datum.channels());
71 sum_blob.set_length(datum.length());
72 sum_blob.set_height(datum.height());
73 sum_blob.set_width(datum.width());

i think the erro happen in the function ReadImageSequenceToVolumeDatum,the height=128,width=171,and datum.height()=0,datum.width()=0.

so ,could you give me some suggest ,thank you !

Example for volume_data_layer

Hi Dutran,

Thank you for creating and sharing this fork! From the examples you have provided, I understand that you have developed this package primarily for video data analysis, but I have also noticed the implementation for "volume_data_layer", which takes a level-db as its input. I think a volume_data_layer for 64x64x50 subvolumes should simply look like this

layers {
name: "data"
type: VOLUME_DATA
top: "data"
top: "label"
image_data_param {
source: "vol_6x64x50_leveldb"
mean_file: "vol_mean_64x64x50.binaryproto"
batch_size: 30
mirror: false
show_data: 0
shuffle: true
}
}

But I don't know how to generate a leveldb file for the volumetric data. If you happen to have such a script, could you please share it with us? A few posts on the caffe's github page suggest the use of hdf5 for volumetric data but no mentions of leveldb...So, I would appreciate if you could explain how such a leveldb file can be generated.

Thank you!
Nima

Forced to use a very low batch_size

Hi,

While training/ finetuning my model, I am unable to increase the batch_size more than a value of 5. However I am able to have a batch_size of value 30 while testing.
I am running my scripts on Titan Black GPU.

What could be the reason for such a behavior?

Train features by SVM

Hi Du,

I extracted the features successfully, how can I train them by SVM? Should I use Matlab or I can use "hinge loss layer" in Caffe for this purpose?
Could you please tell me the required steps after reading features by your script in matlab?
Thanks in advance!

Feature Extraction problem with ucf-101

Hi! I followed the guide and I trained on a subset of ucf-101 dataset. I used 3 classes (I changed the num_output of last fc to 3) and it works. I have a strange problem when I use the script /build/tools/extract_image_features.bin. If I use it in demo it works (in c3d_feature_extraction folder), but if I use it with my training it doesn't work.
I use the .prototxt in c3d_train_ucf101 and the snapshot created in the training.
The script is this one:
GLOG_logtosterr=1 ../../build/tools/extract_image_features.bin ./proto_files/conv3d_ucf101_test_nobias.prototxt ./snapshots/conv3d_ucf101_3classes_titan_nobias_iter_450 0 1 1 ./proto_files/output_list_prefix.txt prob

I have the following error:
I1217 18:49:40.410287 23534 net.cpp:76] Creating Layer fc8
I1217 18:49:40.410292 23534 net.cpp:86] fc8 <- fc7
I1217 18:49:40.410297 23534 net.cpp:112] fc8 -> fc8
I1217 18:49:40.410418 23534 net.cpp:127] Top shape: 1 3 1 1 1 (3)
I1217 18:49:40.410436 23534 net.cpp:154] fc8 needs backward computation.
I1217 18:49:40.410444 23534 net.cpp:76] Creating Layer prob
I1217 18:49:40.410449 23534 net.cpp:86] prob <- fc8
I1217 18:49:40.410459 23534 net.cpp:112] prob -> prob
I1217 18:49:40.410466 23534 net.cpp:127] Top shape: 1 3 1 1 1 (3)
I1217 18:49:40.410471 23534 net.cpp:154] prob needs backward computation.
I1217 18:49:40.410477 23534 net.cpp:76] Creating Layer accuracy
I1217 18:49:40.410482 23534 net.cpp:86] accuracy <- prob
I1217 18:49:40.410487 23534 net.cpp:86] accuracy <- label
I1217 18:49:40.410500 23534 net.cpp:112] accuracy -> accuracy
I1217 18:49:40.410524 23534 net.cpp:127] Top shape: 1 2 1 1 1 (2)
I1217 18:49:40.410531 23534 net.cpp:154] accuracy needs backward computation.
I1217 18:49:40.410536 23534 net.cpp:165] This network produces output accuracy
I1217 18:49:40.410553 23534 net.cpp:183] Collecting Learning Rate and Weight Decay.
I1217 18:49:40.410573 23534 net.cpp:176] Network initialization done.
I1217 18:49:40.410578 23534 net.cpp:177] Memory required for Data 103796772
in the network ./proto_files/conv3d_ucf101_test_nobias.prototxt failed: feature_extraction_net->has_blob(string(argv[i])) Unknown feature blob name prob
*** Check failure stack trace: ***
Aborted (core dumped)

As you can see the layer prob is present. Maybe to use this script I need to do something when I train the model?
Thanks

Can this code build successfully with the "CPU_ONLY := 1" option?

Hi Du Tran,

I have successfully built the latest version of Caffe with CUDA7.0 in a virtual machine of Ubuntu14.04. Since there is no GPU, I uncommented the line "CPU_ONLY := 1" in 'Makefile.config' file of the latest Caffe.

I find your 'Makefile.config' file does not include the "CPU_ONLY := 1" statement. Does this mean I can only build your code with GPU support?

I added one line stating "CPU_ONLY := 1" to your 'Makefile.config' file and tried 'make all'. The following errors occurred:

......
/usr/bin/g++ build/tools/device_query.o build/lib/libcaffe.a -o build/tools/device_query.bin -pthread -fPIC -DNDEBUG -O2 -I/usr/local/include/python2.7 -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -Ibuild/src -I./src -I./include -I/usr/local/cuda/include -L/usr/local/lib -L/usr/local/lib -L/usr/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -lcudart -lcublas -lcurand -lpthread -lglog -lprotobuf -lleveldb -lsnappy -lboost_system -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lcblas -latlas -Wall

/usr/bin/g++ build/tools/extract_learned_filters.o build/lib/libcaffe.a -o build/tools/extract_learned_filters.bin -pthread -fPIC -DNDEBUG -O2 -I/usr/local/include/python2.7 -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -Ibuild/src -I./src -I./include -I/usr/local/cuda/include -L/usr/local/lib -L/usr/local/lib -L/usr/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -lcudart -lcublas -lcurand -lpthread -lglog -lprotobuf -lleveldb -lsnappy -lboost_system -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lcblas -latlas -Wall
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_add_scalar<float>(int, float, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x8a0): multiple definition of `void caffe::caffe_gpu_add_scalar<float>(int, float, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x8a0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_add_scalar<double>(int, double, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x930): multiple definition of `void caffe::caffe_gpu_add_scalar<double>(int, double, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x930): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_mul<float>(int, float const*, float const*, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x9c0): multiple definition of `void caffe::caffe_gpu_mul<float>(int, float const*, float const*, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x9c0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_mul<double>(int, double const*, double const*, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xa50): multiple definition of `void caffe::caffe_gpu_mul<double>(int, double const*, double const*, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xa50): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_div<float>(int, float const*, float const*, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xae0): multiple definition of `void caffe::caffe_gpu_div<float>(int, float const*, float const*, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xae0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_div<double>(int, double const*, double const*, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xb70): multiple definition of `void caffe::caffe_gpu_div<double>(int, double const*, double const*, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xb70): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_powx<float>(int, float const*, float, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xc00): multiple definition of `void caffe::caffe_gpu_powx<float>(int, float const*, float, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xc00): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_powx<double>(int, double const*, double, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xca0): multiple definition of `void caffe::caffe_gpu_powx<double>(int, double const*, double, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xca0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_sign<float>(int, float const*, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xd40): multiple definition of `void caffe::caffe_gpu_sign<float>(int, float const*, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xd40): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_sign<double>(int, double const*, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xdd0): multiple definition of `void caffe::caffe_gpu_sign<double>(int, double const*, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xdd0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_sgnbit<float>(int, float const*, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xe60): multiple definition of `void caffe::caffe_gpu_sgnbit<float>(int, float const*, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xe60): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_sgnbit<double>(int, double const*, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xef0): multiple definition of `void caffe::caffe_gpu_sgnbit<double>(int, double const*, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xef0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_fabs<float>(int, float const*, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0xf80): multiple definition of `void caffe::caffe_gpu_fabs<float>(int, float const*, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0xf80): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_fabs<double>(int, double const*, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1010): multiple definition of `void caffe::caffe_gpu_fabs<double>(int, double const*, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1010): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `unsigned int caffe::caffe_gpu_hamming_distance<float>(int, float const*, float const*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x10a0): multiple definition of `unsigned int caffe::caffe_gpu_hamming_distance<float>(int, float const*, float const*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x10a0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `unsigned int caffe::caffe_gpu_hamming_distance<double>(int, double const*, double const*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x10f0): multiple definition of `unsigned int caffe::caffe_gpu_hamming_distance<double>(int, double const*, double const*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x10f0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `__device_stub__ZN5caffe11popc_kernelEiPKfS1_Ph(int, float const*, float const*, unsigned char*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1140): multiple definition of `__device_stub__ZN5caffe11popc_kernelEiPKfS1_Ph(int, float const*, float const*, unsigned char*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1140): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `caffe::popc_kernel(int, float const*, float const*, unsigned char*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x11d0): multiple definition of `caffe::popc_kernel(int, float const*, float const*, unsigned char*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x11d0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `__device_stub__ZN5caffe13popcll_kernelEiPKdS1_Ph(int, double const*, double const*, unsigned char*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x11e0): multiple definition of `__device_stub__ZN5caffe13popcll_kernelEiPKdS1_Ph(int, double const*, double const*, unsigned char*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x11e0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `caffe::popcll_kernel(int, double const*, double const*, unsigned char*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1270): multiple definition of `caffe::popcll_kernel(int, double const*, double const*, unsigned char*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1270): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_set<float>(int, float, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1280): multiple definition of `void caffe::caffe_gpu_set<float>(int, float, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1280): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_set<double>(int, double, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x13d0): multiple definition of `void caffe::caffe_gpu_set<double>(int, double, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x13d0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_rng_uniform<float>(int, float, float, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1520): multiple definition of `void caffe::caffe_gpu_rng_uniform<float>(int, float, float, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1520): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `caffe::caffe_gpu_rng_uniform(int, unsigned int*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1740): multiple definition of `caffe::caffe_gpu_rng_uniform(int, unsigned int*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1740): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_rng_gaussian<float>(int, float, float, float*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x18f0): multiple definition of `void caffe::caffe_gpu_rng_gaussian<float>(int, float, float, float*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x18f0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_rng_gaussian<double>(int, double, double, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1ab0): multiple definition of `void caffe::caffe_gpu_rng_gaussian<double>(int, double, double, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1ab0): first defined here
build/src/caffe/util/math_functions_backup.cuo: In function `void caffe::caffe_gpu_rng_uniform<double>(int, double, double, double*)':
tmpxft_000051b5_00000000-10_math_functions_backup.compute_20.cudafe1.cpp:(.text+0x1c70): multiple definition of `void caffe::caffe_gpu_rng_uniform<double>(int, double, double, double*)'
build/src/caffe/util/math_functions.cuo:tmpxft_000050b7_00000000-10_math_functions.compute_20.cudafe1.cpp:(.text+0x1c70): first defined here
collect2: error: ld returned 1 exit status
make: *** [build/lib/libcaffe.so] Error 1
make: *** Waiting for unfinished jobs....

Many thanks,
Nigel

Check failed: proto.SerializeToOstream(&output)

Hi @dutran
I run your example ucf101_finetuning.sh

when iteration 10000, error occurs

F0606 09:01:48.148102 23862 io.cpp:72] Check failed: proto.SerializeToOstream(&output)
*** Check failure stack trace: ***
    @     0x7fb7ee823b5d  google::LogMessage::Fail()
    @     0x7fb7ee827b77  google::LogMessage::SendToLog()
    @     0x7fb7ee8259f9  google::LogMessage::Flush()
    @     0x7fb7ee825cfd  google::LogMessageFatal::~LogMessageFatal()
    @           0x4508eb  caffe::WriteProtoToBinaryFile()
    @           0x43c4bf  caffe::Solver<>::Snapshot()
    @           0x43ecbe  caffe::Solver<>::Solve()
    @           0x41485d  main
    @       0x3d1f01ed1d  (unknown)
    @           0x414579  (unknown)
ucf101_finetuning.sh: line 1: 23862 Aborted                 (core dumped) GLOG_logtostderr=1 ../../build/tools/finetune_net.bin c3d_ucf101_finetuning_solver.prototxt ../c3d_feature_extraction/conv3d_deepnetA_sport1m_iter_1900000

but there are no errors in iteration 1000 to 9000. I think it is strange, my GPU is tesla k40

[nlpr4@bnode01 c3d_finetuning]$ ls
c3d_ucf101_finetune_whole_iter_1000              c3d_ucf101_finetune_whole_iter_8000
c3d_ucf101_finetune_whole_iter_10000             c3d_ucf101_finetune_whole_iter_8000.solverstate
c3d_ucf101_finetune_whole_iter_1000.solverstate  c3d_ucf101_finetune_whole_iter_9000
c3d_ucf101_finetune_whole_iter_2000              c3d_ucf101_finetune_whole_iter_9000.solverstate
c3d_ucf101_finetune_whole_iter_2000.solverstate  c3d_ucf101_finetuning_solver.prototxt
c3d_ucf101_finetune_whole_iter_3000              c3d_ucf101_finetuning_test.prototxt
c3d_ucf101_finetune_whole_iter_3000.solverstate  c3d_ucf101_finetuning_train.prototxt
c3d_ucf101_finetune_whole_iter_4000              frame_to_avi.py
c3d_ucf101_finetune_whole_iter_4000.solverstate  myscript
c3d_ucf101_finetune_whole_iter_5000              readme.md
c3d_ucf101_finetune_whole_iter_5000.solverstate  read_video.py
c3d_ucf101_finetune_whole_iter_6000              train01_16_128_171_mean.binaryproto
c3d_ucf101_finetune_whole_iter_6000.solverstate  train_01.lst
c3d_ucf101_finetune_whole_iter_7000              ucf101_finetuning.sh
c3d_ucf101_finetune_whole_iter_7000.solverstate  ucf101_testing.sh

confused about mean file

Before an image or a frame of video are thrown into a CNN, we usually subtract a mean file from the input image. And you have provided a mean file named " fb_train16_128_mean.binaryproto". How was this file created. Is it average image of all images in the train set? If I finetune my model in my own dataset, should I creat a new mean file for the new dataset?
Thanks a lot!

finetuning loss

Hi, I run the finetune example using ucf101 dataset. The loss look like this

I0528 21:46:49.915746 11590 solver.cpp:237] Iteration 20, lr = 0.0001
I0528 21:46:49.916153 11590 solver.cpp:87] Iteration 20, loss = 4.90706
I0528 21:47:27.747942 11590 solver.cpp:237] Iteration 40, lr = 0.0001
I0528 21:47:27.748319 11590 solver.cpp:87] Iteration 40, loss = 4.57005
I0528 21:48:05.530530 11590 solver.cpp:237] Iteration 60, lr = 0.0001
I0528 21:48:05.530972 11590 solver.cpp:87] Iteration 60, loss = 5.05493
I0528 21:48:43.342098 11590 solver.cpp:237] Iteration 80, lr = 0.0001
I0528 21:48:43.342476 11590 solver.cpp:87] Iteration 80, loss = 4.09023
I0528 21:49:21.167407 11590 solver.cpp:237] Iteration 100, lr = 0.0001
I0528 21:49:21.167830 11590 solver.cpp:87] Iteration 100, loss = 4.71882
I0528 21:49:58.997171 11590 solver.cpp:237] Iteration 120, lr = 0.0001
I0528 21:49:58.997553 11590 solver.cpp:87] Iteration 120, loss = 3.3148
I0528 21:50:36.777606 11590 solver.cpp:237] Iteration 140, lr = 0.0001
I0528 21:50:36.777989 11590 solver.cpp:87] Iteration 140, loss = 2.39711
I0528 21:51:14.583552 11590 solver.cpp:237] Iteration 160, lr = 0.0001
I0528 21:51:14.584013 11590 solver.cpp:87] Iteration 160, loss = 3.69446
I0528 21:51:52.391942 11590 solver.cpp:237] Iteration 180, lr = 0.0001
I0528 21:51:52.392320 11590 solver.cpp:87] Iteration 180, loss = 3.81515
I0528 21:52:30.216404 11590 solver.cpp:237] Iteration 200, lr = 0.0001
I0528 21:52:30.216820 11590 solver.cpp:87] Iteration 200, loss = 2.30991
I0528 21:53:08.017086 11590 solver.cpp:237] Iteration 220, lr = 0.0001
I0528 21:53:08.017467 11590 solver.cpp:87] Iteration 220, loss = 4.23676
I0528 21:53:45.828099 11590 solver.cpp:237] Iteration 240, lr = 0.0001
I0528 21:53:45.828479 11590 solver.cpp:87] Iteration 240, loss = 3.21753
I0528 21:54:23.647207 11590 solver.cpp:237] Iteration 260, lr = 0.0001
I0528 21:54:23.647586 11590 solver.cpp:87] Iteration 260, loss = 2.07026
I0528 21:55:01.485985 11590 solver.cpp:237] Iteration 280, lr = 0.0001
I0528 21:55:01.486362 11590 solver.cpp:87] Iteration 280, loss = 1.96745
I0528 21:55:39.291198 11590 solver.cpp:237] Iteration 300, lr = 0.0001
I0528 21:55:39.291574 11590 solver.cpp:87] Iteration 300, loss = 1.99167
I0528 21:56:17.111016 11590 solver.cpp:237] Iteration 320, lr = 0.0001
I0528 21:56:17.111387 11590 solver.cpp:87] Iteration 320, loss = 1.50536
I0528 21:56:54.930027 11590 solver.cpp:237] Iteration 340, lr = 0.0001
I0528 21:56:54.930405 11590 solver.cpp:87] Iteration 340, loss = 3.28589
I0528 21:57:32.727215 11590 solver.cpp:237] Iteration 360, lr = 0.0001
I0528 21:57:32.727594 11590 solver.cpp:87] Iteration 360, loss = 2.74588
I0528 21:58:10.523322 11590 solver.cpp:237] Iteration 380, lr = 0.0001
I0528 21:58:10.523720 11590 solver.cpp:87] Iteration 380, loss = 0.946066
I0528 21:58:48.311733 11590 solver.cpp:237] Iteration 400, lr = 0.0001
I0528 21:58:48.312110 11590 solver.cpp:87] Iteration 400, loss = 2.00241
I0528 21:59:26.104333 11590 solver.cpp:237] Iteration 420, lr = 0.0001
I0528 21:59:26.104742 11590 solver.cpp:87] Iteration 420, loss = 2.41513
I0528 22:00:03.892549 11590 solver.cpp:237] Iteration 440, lr = 0.0001
I0528 22:00:03.892981 11590 solver.cpp:87] Iteration 440, loss = 1.25305
I0528 22:00:41.703632 11590 solver.cpp:237] Iteration 460, lr = 0.0001
I0528 22:00:41.704085 11590 solver.cpp:87] Iteration 460, loss = 1.69272
I0528 22:01:19.531800 11590 solver.cpp:237] Iteration 480, lr = 0.0001
I0528 22:01:19.532176 11590 solver.cpp:87] Iteration 480, loss = 2.35864
I0528 22:01:57.354773 11590 solver.cpp:237] Iteration 500, lr = 0.0001
I0528 22:01:57.355154 11590 solver.cpp:87] Iteration 500, loss = 3.20118

My GPU is K20, I change the batch size from 30 to 10
is this loss normal?

Warning: the use of 'tmpnam' is dangerous, better use 'mkstemp'

When I execute make test, I get a warning message as follow:

test_data_layer.cpp:(.text._ZN5caffe13DataLayerTestIfEC2Ev[_ZN5caffe13DataLayerTestIfEC5Ev]+0x21): warnning: the use of tmpnam' is dangerous, better usemkstemp'

Does it make any bad effects?

Test accuracy

E0529 11:24:15.056433 13957 test_net.cpp:51] Batch 1373, accuracy: 0.8
E0529 11:24:16.577850 13957 test_net.cpp:51] Batch 1374, accuracy: 0.833333
E0529 11:24:18.104264 13957 test_net.cpp:51] Batch 1375, accuracy: 0.833333
E0529 11:24:19.628096 13957 test_net.cpp:51] Batch 1376, accuracy: 0.833333
E0529 11:24:21.147753 13957 test_net.cpp:51] Batch 1377, accuracy: 0.833333
E0529 11:24:22.675658 13957 test_net.cpp:51] Batch 1378, accuracy: 0.733333
E0529 11:24:24.198937 13957 test_net.cpp:51] Batch 1379, accuracy: 0.8
E0529 11:24:25.720679 13957 test_net.cpp:51] Batch 1380, accuracy: 0.8
E0529 11:24:27.248215 13957 test_net.cpp:51] Batch 1381, accuracy: 0.866667
E0529 11:24:28.769614 13957 test_net.cpp:51] Batch 1382, accuracy: 0.833333
E0529 11:24:30.297591 13957 test_net.cpp:51] Batch 1383, accuracy: 0.766667
E0529 11:24:30.297626 13957 test_net.cpp:54] Test accuracy: 0.786777

I run ucf101_testing.sh
I change batch size from 50 to 30,
so I have 1384 batches in total
Test accuracy is 0.786777, is this ok?

some install error

Hi, I got the below error when install. Could you help me with an old cuda vision?
image

C3D Feature Extraction: Error with frame based model

I'm working thorough the example of training from scratch on UCF101.

I'm able to extract the frames to jpeg with ffmpeg and I edited the test_01 and train_01 lists to the appropriate folder locations. I am able to run create_volume_mean.sh but I encounter the following error when I run the train_ucf101.sh:

I1119 18:47:24.556890 31767 train_net.cpp:26] Starting Optimization
I1119 18:47:24.557006 31767 solver.cpp:41] Creating training net.
I1119 18:47:24.557912 31767 net.cpp:76] Creating Layer data
I1119 18:47:24.557937 31767 net.cpp:112] data -> data
I1119 18:47:24.557951 31767 net.cpp:112] data -> label
I1119 18:47:24.557973 31767 video_data_layer.cpp:283] Opening file ../c3d_finetuning/train_01.lst
I1119 18:47:24.622956 31767 video_data_layer.cpp:312] Shuffling data
I1119 18:47:25.010337 31767 video_data_layer.cpp:317] A total of 107258 video chunks.
I1119 18:47:25.010380 31767 video_data_layer.cpp:344] read video from /home/andrew/caffe/C3D/data/UCF-101/JumpingJack/v_JumpingJack_g25_c05/
F1119 18:47:25.010423 31767 video_data_layer.cpp:346] Check failed: ReadImageSequenceToVolumeDatum(file_list_[id].c_str(), 1, label_list_[id], new_length, new_height, new_width, sampling_rate, &datum)
*** Check failure stack trace: ***
@ 0x7f5c43b5adaa (unknown)
@ 0x7f5c43b5ace4 (unknown)
@ 0x7f5c43b5a6e6 (unknown)
@ 0x7f5c43b5d687 (unknown)
@ 0x49d43e caffe::VideoDataLayer<>::SetUp()
@ 0x450905 caffe::Net<>::Init()
@ 0x451bb5 caffe::Net<>::Net()
@ 0x43172f caffe::Solver<>::Init()
@ 0x434e3b caffe::Solver<>::Solver()
@ 0x40ab46 main
@ 0x7f5c41638ec5 (unknown)
@ 0x40d3b7 (unknown)
@ (nil) (unknown)
Aborted (core dumped)

I've been scratching my head. Any thoughts?

Cannot run C3D feature extraction examples

Hi @dutran,
I want to extract C3D features using your published software in this repo. I installed C3D successfully following Caffe instructions. Then, following your user guide, I execute the example Shell script,

sh c3d_sport1m_feature_extraction_video.sh

It failed as follows,

I1208 16:02:25.142551 27872 net.cpp:154] prob needs backward computation.
I1208 16:02:25.142566 27872 net.cpp:76] Creating Layer accuracy
I1208 16:02:25.142578 27872 net.cpp:86] accuracy <- prob
I1208 16:02:25.142591 27872 net.cpp:86] accuracy <- label
I1208 16:02:25.142606 27872 net.cpp:112] accuracy -> accuracy
I1208 16:02:25.142623 27872 net.cpp:127] Top shape: 1 2 1 1 1 (2)
I1208 16:02:25.142635 27872 net.cpp:154] accuracy needs backward computation.
I1208 16:02:25.142647 27872 net.cpp:165] This network produces output accuracy
I1208 16:02:25.142689 27872 net.cpp:183] Collecting Learning Rate and Weight Decay.
I1208 16:02:25.142758 27872 net.cpp:176] Network initialization done.
I1208 16:02:25.142784 27872 net.cpp:177] Memory required for Data 5653289408
E1208 16:02:26.047878 27872 extract_image_features.cpp:72] Extracting features for 1 batches
F1208 16:02:26.387730 27872 vol2col.cu:75] Check failed: error == cudaSuccess (8 vs. 0)  invalid device functio

Hope to receive your responses,

Unbuntu15.04 installation error. /usr/bin/ld: /usr/local/lib/libhdf5.a(H5.c.o): relocation R_X86_64_32 against `H5_debug_g'

I tried to install C3D under Unbuntu15.04, but I got an error below.Anyone could help me?

/usr/bin/ld: /usr/local/lib/libhdf5.a(H5.c.o): relocation R_X86_64_32 against `H5_debug_g' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libhdf5.a: error adding symbols: 错误的值
collect2: 错误: ld 返回 1
Makefile:285: recipe for target 'build/lib/libcaffe.so' failed
make: *** [build/lib/libcaffe.so] Error 1

How to compute volume mean from list?

Hi,

I am trying to train C3D from scratch. But I met a problem when trying to compute the volume mean.

So... what is the meaning of length and sampling_rate in compute_volume_mean_from_list.cpp? And how to set their values ?

For example, my input_chunk_list is like this:

/media/michael/F/data/UCF-101/UCF-101-frames/v_ApplyEyeMakeup_g08_c01 1 0
/media/michael/F/data/UCF-101/UCF-101-frames/v_ApplyEyeMakeup_g08_c01 17 0
/media/michael/F/data/UCF-101/UCF-101-frames/v_ApplyEyeMakeup_g08_c01 33 0
......

And I write a script to commpute volumn mean:
GLOG_logtostderr=1 /home/michael/workspace/C3D/build/tools/compute_volume_mean_from_list.bin /home/michael/workspace/C3D/examples/ARCH/train_01_for_com_mean.lst 16 128 171 1 /home/michael/workspace/C3D/examples/ARCH/mean_train_16_128_171.binaryproto

the length is set to be 16 and the sampling_rate is set to be 1, because I found the new_length in /c3d_finetuning/c3d_ucf101_finetuning_train.prototxt is 16 .

name: "DeepConv3DNet_ucf101_finetuning"
layers {
name: "data"
type: VIDEO_DATA
top: "data"
top: "label"
image_data_param {
source: "train_01.lst"
use_image: true
mean_file: "train01_16_128_171_mean.binaryproto"
use_temporal_jitter: false
batch_size: 30
crop_size: 112
mirror: true
show_data: 0
new_height: 128
new_width: 171
new_length: 16
shuffle: true
}
}

But it seems that something is wrong. So I think my setting 16 128 171 1 (length height width sampling_rate) when calling compute_volume_mean_from_list.bin is wrong.

2015-07-06 15 38 41

Could you give me some suggestions about this question?

Thank you very much!

make error

/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/blob_proto_to_blob_binary.bin] Error 1
make: *** Waiting for unfinished jobs....
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/upgrade_net_proto_binary.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/compute_image_mean.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/device_query.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
/collect2: public/home/kli/local/lib/libopencv_highgui.so:ld returned 1 exit status undefined
 reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/examples/mnist/convert_mnist_data.bin] Error 1
make: *** [build/tools/compute_image_mean_from_list.bin] Error 1
make: *** [build/tools/upgrade_net_proto_text.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/compute_volume_mean_from_list.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/convert_imageset.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/compute_volume_mean.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/examples/cifar10/convert_cifar_data.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/finetune_net.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/dump_network.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/extract_learned_filters.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/extract_features.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/extract_image_features.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/test_net.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/train_net.bin] Error 1
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
/public/home/kli/local/lib/libopencv_highgui.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make: *** [build/tools/net_speed_benchmark.bin] Error 1

Feature extraction for videos -- Index of the first frame: 0 or 1?

Hi Du,

I followed the C3DUserGuide and started to extract features for my videos. One of the videos has totally 224 frames and I wrote the input list file as follows:

input/avi/sample224.avi 1 0
input/avi/sample224.avi 17 0
input/avi/sample224.avi 33 0
input/avi/sample224.avi 49 0
input/avi/sample224.avi 65 0
input/avi/sample224.avi 81 0
input/avi/sample224.avi 97 0
input/avi/sample224.avi 113 0
input/avi/sample224.avi 129 0
input/avi/sample224.avi 145 0
input/avi/sample224.avi 161 0
input/avi/sample224.avi 177 0
input/avi/sample224.avi 193 0
input/avi/sample224.avi 209 0

However, it said:

F0717 20:00:40.468828  1975 image_io.cpp:135] Check failed: end_frm <= num_of_frames (225 vs. 224) end frame must less or equal to num of frames
*** Check failure stack trace: ***
Aborted (core dumped)

So I modified the input list as follows:

input/avi/sample224.avi 0 0
input/avi/sample224.avi 16 0
input/avi/sample224.avi 32 0
input/avi/sample224.avi 48 0
input/avi/sample224.avi 64 0
input/avi/sample224.avi 80 0
input/avi/sample224.avi 96 0
input/avi/sample224.avi 112 0
input/avi/sample224.avi 128 0
input/avi/sample224.avi 144 0
input/avi/sample224.avi 160 0
input/avi/sample224.avi 176 0
input/avi/sample224.avi 192 0
input/avi/sample224.avi 208 0

and it worked well and features were extracted successfully.

So I looked into the source code of image_io.cpp and found:

#133: cap.set(CV_CAP_PROP_POS_FRAMES, use_start_frm);
#134: int end_frm = use_start_frm + length * sampling_rate;

Then I found CV_CAP_PROP_POS_FRAMES: 0-based index of the frame to be decoded/captured next.

So I guess the cause of my problem may be the index of the first frame is 0 in OpenCV. For example, if I write

input/avi/sample224.avi m 0

in the input list, it actually starts capturing from frame m+1 and extracts features for frames from m+1 to m+16, not from m to m+15.

So I think it would be better if you use the following input list file as an example:

input/avi/v_ApplyEyeMakeup_g01_c01.avi 0 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 16 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 32 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 48 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 64 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 80 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 96 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 112 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 128 0
input/avi/v_ApplyEyeMakeup_g01_c01.avi 144 0
input/avi/v_BaseballPitch_g01_c01.avi 0 0
input/avi/v_BaseballPitch_g01_c01.avi 16 0
input/avi/v_BaseballPitch_g01_c01.avi 32 0
input/avi/v_BaseballPitch_g01_c01.avi 48 0
input/avi/v_BaseballPitch_g01_c01.avi 64 0
input/avi/v_BaseballPitch_g01_c01.avi 80 0

Are there any misunderstandings about the above problem? Do you have any further suggestions?

Many thanks,
Nigel

Problem to compile C3D for "make runtest"

@dutran Hi.
I have a problem when I wanted to compile C3D on my machine. I got error after "make all" that I fixed it using "#2"
but for "make runtest" I still got error. I used suggestions in "BVLC/caffe#626", but I could not fix it. Here it is my current Makefile.config:

image

I got this error after running make runtest:
build/test/test_all.testbin 0 --gtest_shuffle
Cuda number of devices: 1
Setting to use device 0
Current device id: 0
Note: Randomizing tests' orders with a seed of 22059 .
[==========] Running 407 tests from 72 test cases.
[----------] Global test environment set-up.
[----------] 1 test from UniformFillerTest/0, where TypeParam = float
[ RUN ] UniformFillerTest/0.TestFill
[ OK ] UniformFillerTest/0.TestFill (144 ms)
[----------] 1 test from UniformFillerTest/0 (144 ms total)

[----------] 5 tests from Im2colLayerTest/1, where TypeParam = double
[ RUN ] Im2colLayerTest/1.TestCPU
[ OK ] Im2colLayerTest/1.TestCPU (0 ms)
[ RUN ] Im2colLayerTest/1.TestGPU
F1021 20:35:10.515538 22797 im2col.cu:54] Check failed: error == cudaSuccess (8 vs. 0) invalid device function
*** Check failure stack trace: ***
@ 0x2b97e26b2daa (unknown)
@ 0x2b97e26b2ce4 (unknown)
@ 0x2b97e26b26e6 (unknown)
@ 0x2b97e26b5687 (unknown)
@ 0x5d6b60 caffe::im2col_gpu<>()
@ 0x5c0127 caffe::Im2colLayer<>::Forward_gpu()
@ 0x4482e0 caffe::Layer<>::Forward()
@ 0x4b6bee caffe::Im2colLayerTest_TestGPU_Test<>::TestBody()
@ 0x538cd3 testing::internal::HandleExceptionsInMethodIfSupported<>()
@ 0x52f7b7 testing::Test::Run()
@ 0x52f85e testing::TestInfo::Run()
@ 0x52f965 testing::TestCase::Run()
@ 0x532ca8 testing::internal::UnitTestImpl::RunAllTests()
@ 0x532f37 testing::UnitTest::Run()
@ 0x412c10 main
@ 0x2b97e4c19ec5 (unknown)
@ 0x417e3e (unknown)
@ (nil) (unknown)
make: *** [runtest] Aborted (core dumped)

Could you please help me to fix it.
Thanks a lot.

using multiple GPUs?

I am curious is there the possibility of using multiple GPUs in C3D? If yes what exactly should I change in solver file?
Thanks.

Finetuning error

F0527 19:00:32.462267 31542 image_io.cpp:135] Check failed: end_frm <= num_of_frames (225 vs. 224) end frame must less or equal to num of frames
*** Check failure stack trace: ***
    @     0x2b64bd861b5d  google::LogMessage::Fail()
    @     0x2b64bd865b77  google::LogMessage::SendToLog()
    @     0x2b64bd8639f9  google::LogMessage::Flush()
    @     0x2b64bd863cfd  google::LogMessageFatal::~LogMessageFatal()
    @           0x4dfd4f  caffe::ReadVideoToVolumeDatum()
    @           0x48435a  caffe::VideoDataLayerPrefetch<>()
    @       0x3774e079d1  (unknown)
    @       0x3774ae89dd  (unknown)
ucf101_finetuning.sh: line 1: 30763 Aborted                 (core dumped) GLOG_logtostderr=1 ../../build/tools/finetune_net.bin c3d_ucf101_finetuning_solver.prototxt ../c3d_feature_extraction/conv3d_deepnetA_sport1m_iter_1900000

C3D accuracy/prob blob extraction has different results compared to accuracy computed by C3D fine_tuning test

Hi,

I have fine-tuned C3D model on ActivityNet video dataset using video frames. I am training on some parts of videos for examples frames [100..200] or [1234....1800] so my training list file might not start from frame 1 in order to do that I have just changed line 345 of VideoDataLayer:
from:
CHECK(ReadImageSequenceToVolumeDatum(file_list_[id].c_str(), 1, label_list_[id],
new_length, new_height, new_width, sampling_rate, &datum));
to

CHECK(ReadImageSequenceToVolumeDatum(file_list_[id].c_str(), start_frm_list_[id], label_list_[id],
new_length, new_height, new_width, sampling_rate, &datum));

When I test finetuned model and compute accuracy for list of test input data (formated as you described in your instruction) I get 0.3 accuracy.

However when I extract probability or accuracy of exact same list of test input data and same finetuned model I get always 0 accuracy (single precision and logprob around 5-6) and also based on extracted probabilities, I get very low 0.000005 accuracy. So extracted probabilities and accuracy are consistent but accuracy computed by finetuning_test is 30% which is reasonable.

Do you have any idea where this issue could possibly come from? Is it possible that the line I have changed make this issue and model need all the frames of one video clips to use for training/feature-extraction?

Best!

c3d_finetuning test error

I run ucf101_testing.sh, when going to batch 29, there is an error : Check failed: read status Testing must not miss any example. Before that, I have successfully trained the network on UCF101 with your trainlist. It's ok. From batch 1to 29, I can get the accuracy normally. But going to Batch 30, the error appears. I am confused. So I seek help here, thank you! @dutran

Issues about computing the volume mean file

Hi everyone,

Now I'd like to train on my own data from scratch. I can start the training without the mean file, but get the error as attached image when I use the mean file.
image

I guess the problem comes from the volume mean file. I run the 'compute volume mean from list.bin', it seems ok as attached image,
image

but processing speed is too fast only 3seconds and the generated *_mean.binartproto file is very small only 10 bytes.

The image below is my input_chunk_list.
image

Could you give me some help? Thanks a lot!

Feature extraction: need to resize video frames?

Hi Du,

Just a quick question. Do I need to resize the videos before extracting their C3D features? Because in your paper, you have resized all video frames into 128*171.

Thank you very much:)

Nigel

make test error

I follow the caffe install step. but error in make test

src/caffe/test/test_tanh_layer.cpp: In constructor ‘caffe::TanHLayerTest<Dtype>::TanHLayerTest() [with Dtype = double]’:
src/caffe/test/test_tanh_layer.cpp:100:   instantiated from ‘testing::Test* testing::internal::TestFactoryImpl<TestClass>::CreateTest() [with TestClass = caffe::TanHLayerTest_TestGradientGPU_Test<double>]’
src/caffe/test/test_tanh_layer.cpp:109:   instantiated from here
src/caffe/test/test_tanh_layer.cpp:27: error: no matching function for call to ‘caffe::Blob<double>::Blob(int, int, int, int)’
./include/caffe/blob.hpp:114: note: candidates are: caffe::Blob<Dtype>::Blob(const caffe::Blob<Dtype>&) [with Dtype = double]
./include/caffe/blob.hpp:18: note:                 caffe::Blob<Dtype>::Blob(int, int, int, int, int) [with Dtype = double]
./include/caffe/blob.hpp:15: note:                 caffe::Blob<Dtype>::Blob() [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp: In constructor ‘caffe::TanHLayerTest<Dtype>::TanHLayerTest() [with Dtype = float]’:
src/caffe/test/test_tanh_layer.cpp:100:   instantiated from ‘testing::Test* testing::internal::TestFactoryImpl<TestClass>::CreateTest() [with TestClass = caffe::TanHLayerTest_TestGradientGPU_Test<float>]’
src/caffe/test/test_tanh_layer.cpp:109:   instantiated from here
src/caffe/test/test_tanh_layer.cpp:27: error: no matching function for call to ‘caffe::Blob<float>::Blob(int, int, int, int)’
./include/caffe/blob.hpp:114: note: candidates are: caffe::Blob<Dtype>::Blob(const caffe::Blob<Dtype>&) [with Dtype = float]
./include/caffe/blob.hpp:18: note:                 caffe::Blob<Dtype>::Blob(int, int, int, int, int) [with Dtype = float]
./include/caffe/blob.hpp:15: note:                 caffe::Blob<Dtype>::Blob() [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp: In member function ‘void caffe::TanHLayerTest_TestForwardGPU_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = double]’:
src/caffe/test/test_tanh_layer.cpp:109:   instantiated from here
src/caffe/test/test_tanh_layer.cpp:88: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:88: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:88: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:91: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:91: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:91: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp: In member function ‘void caffe::TanHLayerTest_TestForwardCPU_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = double]’:
src/caffe/test/test_tanh_layer.cpp:109:   instantiated from here
src/caffe/test/test_tanh_layer.cpp:56: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:56: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:56: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:59: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:59: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp:59: error: no matching function for call to ‘caffe::Blob<double>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = double]
src/caffe/test/test_tanh_layer.cpp: In member function ‘void caffe::TanHLayerTest_TestForwardGPU_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = float]’:
src/caffe/test/test_tanh_layer.cpp:109:   instantiated from here
src/caffe/test/test_tanh_layer.cpp:88: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:88: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:88: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:91: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:91: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:91: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp: In member function ‘void caffe::TanHLayerTest_TestForwardCPU_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = float]’:
src/caffe/test/test_tanh_layer.cpp:109:   instantiated from here
src/caffe/test/test_tanh_layer.cpp:56: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:56: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:56: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:59: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:59: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
src/caffe/test/test_tanh_layer.cpp:59: error: no matching function for call to ‘caffe::Blob<float>::data_at(int&, int&, int&, int&)’
./include/caffe/blob.hpp:61: note: candidates are: Dtype caffe::Blob<Dtype>::data_at(int, int, int, int, int) const [with Dtype = float]
make: *** [build/src/caffe/test/test_tanh_layer.o] Error 1

Thank you very much

C3D compilation error

I have successfully installed the Caffe with mkl and CUDA 7.0 and cuDNN. But when I install the C3D, I use command :make in the directory of C3D-master. Then I have two errors as follow.

src/caffe/util/math_functions.cu(140): error: calling a host function("std::signbit ") from a global function("caffe::sgnbit_kernel ") is not allowed

src/caffe/util/math_functions.cu(140): error: calling a host function("std::signbit ") from a global function("caffe::sgnbit_kernel ") is not allowed

2 errors detected in the compilation of "/tmp/tmpxft_0000342d_00000000-13_math_functions.compute_35.cpp1.ii".
make: *** [build/src/caffe/util/math_functions.cuo] error 2

What can I do for this, thank you very much!

cuda issue during running

Hi,

I work on ubuntu 14.04 and using GTX 980 with cuda 6.5. I can successfully compiled C3D. But when I execute running, it reports following error:

Check failed: error == cudaSuccess (8 vs. 0) invalid device function

This error is reported when executing CUDA_POST_KERNEL_CHECK; in vol2col.cu's row 75.

I can run caffe successfully also.

Do anyone have any idea of how shall I fix this? Thanks so much.

How to save test result?

Hi Du Tran, I'm wondering how to save the test results to files not just the logs in terminal. Now I cannot save the results, so I cannot aggregate the video accuracy. What can I do to solve this?

Training from scratch on UCF101, the accuracy is lower than expected.

Hi Du,

I follow "C3D User Guide" and try the example of training from scratch on UCF101. I only modify the batch size from 30 to 10 because of the limited GPU memory. The program runs successfully. But after I run "sh test_ucf101.sh", the clip accuracy on testing data is 0.4022 which is mush lower than the 0.45 proposed in the guide. I also test the clip accuracy on training data, which is 0.9538.
Is my result reasonable?
Thanks.

C3D Feature Extraction: Frame-based work but Video doesn't, part2

Here is my result of running Video extraction script (I've passed the frame script):
WARNING: Logging before InitGoogleLogging() is written to STDERR
E0727 22:44:11.561401 28087 extract_image_features.cpp:55] Using GPU #0
I0727 22:44:11.563448 28087 net.cpp:76] Creating Layer data
I0727 22:44:11.563490 28087 net.cpp:112] data -> data
I0727 22:44:11.563510 28087 net.cpp:112] data -> label
I0727 22:44:11.563531 28087 video_data_layer.cpp:283] Opening file prototxt/input_list_video.txt
I0727 22:44:11.563642 28087 video_data_layer.cpp:317] A total of 16 video chunks.
[mpeg4 @ 0x51b84c0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x51b84c0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x51e93a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x51eea20] Invalid and inefficient vfw-avi packed B frames detected
I0727 22:44:11.592236 28087 video_data_layer.cpp:365] output data size: 50,3,16,112,112
I0727 22:44:11.592283 28087 video_data_layer.cpp:387] Loading mean file fromsport1m_train16_128_mean.binaryproto
I0727 22:44:11.638545 28087 net.cpp:127] Top shape: 50 3 16 112 112 (30105600)
I0727 22:44:11.638589 28087 net.cpp:127] Top shape: 50 1 1 1 1 (50)
I0727 22:44:11.638603 28087 net.cpp:159] data does not need backward computation.
I0727 22:44:11.638622 28087 net.cpp:76] Creating Layer conv1a
I0727 22:44:11.638633 28087 net.cpp:86] conv1a <- data
I0727 22:44:11.638653 28087 net.cpp:112] conv1a -> conv1a
I0727 22:44:11.639158 28087 net.cpp:127] Top shape: 50 64 16 112 112 (642252800)
I0727 22:44:11.639184 28087 net.cpp:154] conv1a needs backward computation.
I0727 22:44:11.639199 28087 net.cpp:76] Creating Layer relu1a
I0727 22:44:11.639209 28087 net.cpp:86] relu1a <- conv1a
I0727 22:44:11.639219 28087 net.cpp:100] relu1a -> conv1a (in-place)
I0727 22:44:11.639231 28087 net.cpp:127] Top shape: 50 64 16 112 112 (642252800)
I0727 22:44:11.639241 28087 net.cpp:154] relu1a needs backward computation.
I0727 22:44:11.639253 28087 net.cpp:76] Creating Layer pool1
I0727 22:44:11.639262 28087 net.cpp:86] pool1 <- conv1a
I0727 22:44:11.639272 28087 net.cpp:112] pool1 -> pool1
I0727 22:44:11.639292 28087 net.cpp:127] Top shape: 50 64 16 56 56 (160563200)
I0727 22:44:11.639308 28087 net.cpp:154] pool1 needs backward computation.
I0727 22:44:11.639322 28087 net.cpp:76] Creating Layer conv2a
I0727 22:44:11.639331 28087 net.cpp:86] conv2a <- pool1
I0727 22:44:11.639343 28087 net.cpp:112] conv2a -> conv2a
[mpeg4 @ 0x7f5770002be0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770002be0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700057a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770002460] Invalid and inefficient vfw-avi packed B frames detected
I0727 22:44:11.650568 28087 net.cpp:127] Top shape: 50 128 16 56 56 (321126400)
I0727 22:44:11.650612 28087 net.cpp:154] conv2a needs backward computation.
I0727 22:44:11.650629 28087 net.cpp:76] Creating Layer relu2a
I0727 22:44:11.650641 28087 net.cpp:86] relu2a <- conv2a
I0727 22:44:11.650653 28087 net.cpp:100] relu2a -> conv2a (in-place)
I0727 22:44:11.650665 28087 net.cpp:127] Top shape: 50 128 16 56 56 (321126400)
I0727 22:44:11.650674 28087 net.cpp:154] relu2a needs backward computation.
I0727 22:44:11.650686 28087 net.cpp:76] Creating Layer pool2
I0727 22:44:11.650696 28087 net.cpp:86] pool2 <- conv2a
I0727 22:44:11.650706 28087 net.cpp:112] pool2 -> pool2
I0727 22:44:11.650717 28087 net.cpp:127] Top shape: 50 128 8 28 28 (40140800)
I0727 22:44:11.650727 28087 net.cpp:154] pool2 needs backward computation.
I0727 22:44:11.650739 28087 net.cpp:76] Creating Layer conv3a
I0727 22:44:11.650749 28087 net.cpp:86] conv3a <- pool2
I0727 22:44:11.650759 28087 net.cpp:112] conv3a -> conv3a
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770003e00] Invalid and inefficient vfw-avi packed B frames detected
I0727 22:44:11.682303 28087 net.cpp:127] Top shape: 50 256 8 28 28 (80281600)
I0727 22:44:11.682332 28087 net.cpp:154] conv3a needs backward computation.
I0727 22:44:11.682344 28087 net.cpp:76] Creating Layer relu3a
I0727 22:44:11.682353 28087 net.cpp:86] relu3a <- conv3a
I0727 22:44:11.682361 28087 net.cpp:100] relu3a -> conv3a (in-place)
I0727 22:44:11.682369 28087 net.cpp:127] Top shape: 50 256 8 28 28 (80281600)
I0727 22:44:11.682376 28087 net.cpp:154] relu3a needs backward computation.
I0727 22:44:11.682385 28087 net.cpp:76] Creating Layer conv3b
I0727 22:44:11.682392 28087 net.cpp:86] conv3b <- conv3a
I0727 22:44:11.682400 28087 net.cpp:112] conv3b -> conv3b
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770004480] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57700236a0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f57702ddde0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577001eca0] Invalid and inefficient vfw-avi packed B frames detected
I0727 22:44:11.740874 28087 net.cpp:127] Top shape: 50 256 8 28 28 (80281600)
I0727 22:44:11.740916 28087 net.cpp:154] conv3b needs backward computation.
I0727 22:44:11.740928 28087 net.cpp:76] Creating Layer relu3b
I0727 22:44:11.740937 28087 net.cpp:86] relu3b <- conv3b
I0727 22:44:11.740947 28087 net.cpp:100] relu3b -> conv3b (in-place)
I0727 22:44:11.740955 28087 net.cpp:127] Top shape: 50 256 8 28 28 (80281600)
I0727 22:44:11.740962 28087 net.cpp:154] relu3b needs backward computation.
I0727 22:44:11.740970 28087 net.cpp:76] Creating Layer pool3
I0727 22:44:11.740978 28087 net.cpp:86] pool3 <- conv3b
I0727 22:44:11.740985 28087 net.cpp:112] pool3 -> pool3
I0727 22:44:11.740995 28087 net.cpp:127] Top shape: 50 256 4 14 14 (10035200)
I0727 22:44:11.741003 28087 net.cpp:154] pool3 needs backward computation.
I0727 22:44:11.741011 28087 net.cpp:76] Creating Layer conv4a
I0727 22:44:11.741019 28087 net.cpp:86] conv4a <- pool3
I0727 22:44:11.741026 28087 net.cpp:112] conv4a -> conv4a
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006af00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770781ba0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577006dd00] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f577001d940] Invalid and inefficient vfw-avi packed B frames detected
I0727 22:44:11.857704 28087 net.cpp:127] Top shape: 50 512 4 14 14 (20070400)
I0727 22:44:11.857738 28087 net.cpp:154] conv4a needs backward computation.
I0727 22:44:11.857750 28087 net.cpp:76] Creating Layer relu4a
I0727 22:44:11.857758 28087 net.cpp:86] relu4a <- conv4a
I0727 22:44:11.857767 28087 net.cpp:100] relu4a -> conv4a (in-place)
I0727 22:44:11.857775 28087 net.cpp:127] Top shape: 50 512 4 14 14 (20070400)
I0727 22:44:11.857784 28087 net.cpp:154] relu4a needs backward computation.
I0727 22:44:11.857791 28087 net.cpp:76] Creating Layer conv4b
I0727 22:44:11.857799 28087 net.cpp:86] conv4b <- conv4a
I0727 22:44:11.857805 28087 net.cpp:112] conv4b -> conv4b
[mpeg4 @ 0x7f5770555fa0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770555fa0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770555fa0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770022b20] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770555fa0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770555fa0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770555fa0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x7f5770004c60] Invalid and inefficient vfw-avi packed B frames detected
I0727 22:44:12.026093 28113 image_io.cpp:143] No data at frame 92
F0727 22:44:12.026762 28113 video_data_layer.cpp:123] Check failed: read_status Testing must not miss any example
*** Check failure stack trace: ***

Is this due to that openCV was not compiled with enable-shared flag ON?
I've installed openCV and ffmpeg 0.8.17-4:0.8.17-0ubuntu0.12.04.1.
But I'm not sure if openCV was installed with enable-shared flag ON.
Any suggestion is welcome. Thank you.

How to use C3D finetuning with videos not frames

I want to finetune C3D pre-trained model on UCF101, the example uses frames. But I want to use videos, how to modify list files and prototxt files, and different videos have different frames. How to determine frame number in list files. Thank you!

c3d installation error

/usr/bin/ld: /usr/local/lib/libhdf5.a(H5.c.o): relocation R_X86_64_32 against `H5_debug_g' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libhdf5.a: error adding symbols:
collect2: error: ld returned 1 exit status
Makefile:285: recipe for target 'build/lib/libcaffe.so' failed
make: *** [build/lib/libcaffe.so] Error 1
make: ***

/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/convert_imageset.bin' failed
make: *** [build/tools/convert_imageset.bin] Error 1

/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/compute_image_mean.bin' failed
make: *** [build/tools/compute_image_mean.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/upgrade_net_proto_text.bin' failed
make: *** [build/tools/upgrade_net_proto_text.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/compute_image_mean_from_list.bin' failed
make: *** [build/tools/compute_image_mean_from_list.bin] Error 1
//usr/bin/ld: /usr/local/lib/usr/libprotobuf.sobin: undefined /reference to symbol 'ldinflate':
//usrusr/lib/local/gcc//x86_64lib-linux-/libprotobuf.sognu/4.8/..:/../. ./x86_64undefined-linux-gnu reference/libz.so to: error adding symbolssymbol : DSO missing' from command inflate'
line
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error collect2: error: ld returned 1 exit status
adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/upgrade_net_proto_binary.bin' failed
make: *** [build/tools/upgrade_net_proto_binary.bin] Error 1
Makefile:310: recipe for target 'build/tools/compute_volume_mean_from_list.bin' failed
make: *** [build/tools/compute_volume_mean_from_list.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/extract_learned_filters.bin' failed
make: *** [build/tools/extract_learned_filters.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/blob_proto_to_blob_binary.bin' failed
make: *** [build/tools/blob_proto_to_blob_binary.bin] Error 1

/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/compute_volume_mean.bin' failed
make: *** [build/tools/compute_volume_mean.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/train_net.bin' failed
make: *** [build/tools/train_net.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/extract_features.bin' failed
make: *** [build/tools/extract_features.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: /DSO missing from command lineusr
/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linuxcollect2: error: ld returned 1 exit status
-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/extract_image_features.bin' failed
make: *** [build/tools/extract_image_features.bin] Error 1
Makefile:310: recipe for target 'build/tools/dump_network.bin' failed
make: *** [build/tools/dump_network.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/net_speed_benchmark.bin' failed
make: *** [build/tools/net_speed_benchmark.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/test_net.bin' failed
make: *** [build/tools/test_net.bin] Error 1
/usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:310: recipe for target 'build/tools/finetune_net.bin' failed
make: *** [build/tools/finetune_net.bin] Error 1

feature to txt

dear du tran
I want to change the feature extracted by c3d_sport1m_feature_extraction_frm.sh to txt files so i can use it in libsvm.
I write code like this

#include <stdio.h>  // for snprintf
#include <cuda_runtime.h>
#include <google/protobuf/text_format.h>
#include <string>
#include <vector>
#include <iostream>
#include <fstream>

#include "caffe/blob.hpp"
#include "caffe/common.hpp"
#include "caffe/net.hpp"
#include "caffe/vision_layers.hpp"
#include "caffe/proto/caffe.pb.h"
#include "caffe/util/io.hpp"
#include "caffe/util/image_io.hpp"

using namespace caffe;

template<typename Dtype>
int feature_to_txt_pipeline(int argc,char** argv)
{
    ::google::InitGoogleLogging(argv[0]);
    std::string feature_file(argv[1]);
    std::string output_file(argv[2]);
    Blob<Dtype>* feature_blob;
    load_blob_from_binary(feature_file, feature_blob);
   // std::cout<<feature_blob->num()<<std::endl;
    return 0;
}

int main(int argc,char** argv)
{
   return feature_to_txt_pipeline<float>(argc,argv);
}

And use it like this

feature_to_txt.bin   000001.fc6-1   output.txt 

I have no write all of the code yet

i just test this code

error happens

Segmentation fault (core dumped)

what's wrong with my code.
i am not very familar with caffe source code.
thank you very much
forgive my poor english.

How to load C3D features into numpy array?

Hi,
I want to read a binary blob of C3D feature into a numpy array.
I have readed the matlab script, but I don't really get its meaning.
What is the stucture of *.fc6-1 file? Are the first five 32 bytes recorded the num, chanel, length, height and width?

The mean file returned by compute_volume_mean_from_list.bin is empty

I am trying to compute the mean volume of the dataset HMDB-51 and I run this code:

GLOG_logtostderr=1 ../../build/tools/compute_volume_mean_from_list.bin c3d_finetuning_HMDB51/train2.lst 16 128 171 1 hmdb51_train_mean.binaryproto 10

My train.lst looks like this:

c3d_finetuning_HMDB51/data/April_09_brush_hair_u_nm_np1_ba_goo_0.avi 1 0
c3d_finetuning_HMDB51/data/April_09_brush_hair_u_nm_np1_ba_goo_0.avi 17 0
c3d_finetuning_HMDB51/data/April_09_brush_hair_u_nm_np1_ba_goo_0.avi 33 0
c3d_finetuning_HMDB51/data/April_09_brush_hair_u_nm_np1_ba_goo_0.avi 49 0

I1021 15:24:30.223497 28438 compute_volume_mean_from_list.cpp:53] using dropping rate 10
I1021 15:24:30.223736 28438 compute_volume_mean_from_list.cpp:80] Starting Iteration
E1021 15:24:30.296300 28438 compute_volume_mean_from_list.cpp:112] Processed 2872 files.
I1021 15:24:30.296344 28438 compute_volume_mean_from_list.cpp:119] Write to hmdb51_train_mean.binaryproto

I get an output file hmdb51_train_mean.binaryproto which is of size 10Bytes.

I have checked the 2 suggestions related to issue-30:

  1. The correctness of the relative paths
  2. Opencv and ffmpeg compiles with the --enable-shared flag on.

I have tried both and yet the same empty file is returned.

P.S: I do not have any other problems with the code. I am able to extract the features as well.

Thanks in advance!

C3D Feature Extraction: Frame-based work but Video doesn't

I get the following error:

$ sh c3d_sport1m_feature_extraction_video.sh
WARNING: Logging before InitGoogleLogging() is written to STDERR
E0619 17:15:23.818655 12891 extract_image_features.cpp:55] Using GPU #0
I0619 17:15:23.822535 12891 net.cpp:76] Creating Layer data
I0619 17:15:23.822551 12891 net.cpp:112] data -> data
I0619 17:15:23.822564 12891 net.cpp:112] data -> label
I0619 17:15:23.822578 12891 video_data_layer.cpp:283] Opening file prototxt/input_list_video.txt
I0619 17:15:23.822650 12891 video_data_layer.cpp:317] A total of 16 video chunks.
warning: GStreamer: unable to query position of stream (/builddir/build/BUILD/opencv-2.4.5/modules/highgui/src/cap_gstreamer.cpp:660)
I0619 17:15:23.857631 12891 image_io.cpp:123] not enough frames; having 0
F0619 17:15:23.858307 12891 video_data_layer.cpp:341] Check failed: ReadVideoToVolumeDatum(file_list_[id].c_str(), start_frm_list_[id], label_list_[id], new_length, new_height, new_width, sampling_rate, &datum) 
*** Check failure stack trace: ***
c3d_sport1m_feature_extraction_video.sh: line 3: 12891 Aborted                 (core dumped) GLOG_logtosterr=1 ../../build/tools/extract_image_features.bin prototxt/c3d_sport1m_feature_extractor_video.prototxt conv3d_deepnetA_sport1m_iter_1900000 0 50 1 prototxt/output_list_prefix.txt fc7-1 fc6-1 prob

The main culprit line is in utils/image_io.cpp:121

int num_of_frames = cap.get(CV_CAP_PROP_FRAME_COUNT); // this returns 0 frames. 

The opencv version I am using is 2.4.5.

I don't think the problem is with ffmpeg. I am able to get the following output with it

$ ffmpeg -i v_ApplyEyeMakeup_g01_c01.avi -vcodec copy -acodec copy -f null /dev/null 2>&1 |grep 'frame=' | cut -f 2 -d ''
frame=  164 fps=0.0 q=-1.0 Lsize=N/A time=00:00:06.56 bitrate=N/A 

Thanks for your help and open sourcing your work!

run examples error

When I tried to run_ucf101.sh, I got an error message below.Anyone could be so kind to help me ?@dutran

F0921 17:46:52.132236 3023 video_data_layer.cpp:346] Check failed: ReadImageSequenceToVolumeDatum(file_list_[id].c_str(), 1, label_list_[id], new_length, new_height, new_width, sampling_rate, &datum)

Also when I tried to run c3d_sport1m_feature_extraction_frm.sh, I got an error message below.

F0921 10:21:11.483539 9951 vol2col.cu:79] Check failed: error == cudaSuccess (8 vs. 0) invalid device function

Out of memory

Dear dutran!
When I run c3d_sport1m_feature_extraction_frm.sh, I always get an error: out of memory. Although I reduce the bath-size to 10, 5 even to 1, the error appears again and again.
My GPU's memory is 1GB, is it two small for this exxample?
Thanks a lot!

training parameter problems

hello Du,When i train the 8 conv networks,I met a problem.Subject to my computing,i set the train and test proto batch size to 5,the lr is 0.001,the max_iter is 100000,the stepsize is 20000.when the network run to 40000 iterations,the loss still around 4.6,not converge,not diverge.could give me some advises about the parameters?Best Wishes,thank you very much!

Videos of various lengths

I have gotten the examples to work and I'm now trying to run experiments on my own data.

I'm wondering how C3D handles videos of different lengths. I would like to set the stride to 1 and include all the frames but the videos are of different lengths (100 - 170 frames). What is the best way to handle that kind of data?

I'm running into trouble with computing the mean but my first thought is that it's related to the lengths of the videos.

create_volume_mean.sh:
GLOG_logtostderr=1 ../../build/tools/compute_volume_mean_from_list.bin ../c3d_finetuning/train_house_01.lst 200 128 128 1 house_train_mean.binaryproto

andrew@andrew-All-Series:~/caffe/C3D/examples/house$ sh create_volume_mean.sh
I1206 14:20:56.749550 23315 compute_volume_mean_from_list.cpp:80] Starting Iteration
E1206 14:20:56.756093 23315 compute_volume_mean_from_list.cpp:112] Processed 1524 files.
I1206 14:20:56.756122 23315 compute_volume_mean_from_list.cpp:119] Write to house_train_mean.binaryproto

The resulting house_train_mean.binaryproto is only 11 bytes. Like the other issues, I have made the folder names absolute and the file names are %06d.jpg.

How to use C3D features

Dear dutran
I have successfully run the c3d_feature_extraction examle, so I get some output files such as 000001.fc6-1 000001.fc7-1 and 000001.prob. How can I read features from these files. I couldn't open these files directly with double click.
Thanks!

How to add the C3D function on the latest Caffe?

Dear @dutran,

Since there are many new functions in the latest Caffe, it would be helpful to add the great
C3D function on the latest BVLC/Caffe.
However, the codes are quite different.
I'm still not very familiar with Caffe repository.
May you suggest how to do it smoothly? Thank you.

Finetuning error question

Hi,

I have a question about finetuning example.
I am trying findtuning with UCF101 dataset.

I tried this input video list file but I got below error.
ucf101_finetuning_error

I already checked the #7 and I knew that the cause is exceeded frame number.

I just modified your train_01.lst that reduce all starting frame numbers by 1.
Actually, I expected that the modified list file is working.

I attached my input list file.
https://drive.google.com/file/d/0B8SF8y0vnydpQm01TERSbElhRVU/view?usp=sharing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.