Coder Social home page Coder Social logo

lengyuechen / video-caffe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yifeili3/video-caffe

0.0 2.0 0.0 46.47 MB

Video-friendly caffe -- comes with a recent version of Caffe (June 2016), a video reader, 3D(ND) pooling layer, and an example training script for C3D network and UCF-101 data

License: Other

CMake 2.65% Makefile 0.67% Shell 0.33% C++ 80.26% Cuda 5.79% MATLAB 0.86% M 0.01% Python 7.79% Protocol Buffer 1.65%

video-caffe's Introduction

Video-Caffe: Caffe with C3D implementation and video reader

Build Status

This is 3-D Convolution (C3D) and video reader implementation in the latest Caffe (Apr 2016). The original Facebook C3D implementation is branched out from Caffe on July 17, 2014 with git commit b80fc86, and has not been rebased with the original Caffe, hence missing out quite a few new features in the lastest Caffe. I therefore pulled in C3D concept and an accompanying video reader and applied to the latest Caffe, and will try to rebase this repo with the upstream whenever there is a new important feature. This video-caffe is rebased on df412a, on June 2, 2016. Please reach me for any feedback or question.

Check out the original Caffe readme for Caffe-specific information.

Requirements

In addition to prerequisites for Caffe, video-caffe depends on cuDNN. It is known to work with CuDNN v4 and v5(RC), but it may need some tweaks to build with v3.

  • If you use "make" to build make sure Makefile.config point to the right paths for CUDA and CuDNN.
  • If you use "cmake" to build, double-check CUDNN_INCLUDE and CUDNN_LIBRARY. You may want to cmake with something like cmake -DCUDNN_INCLUDE="/your/path/to/include" -DCUDNN_LIBRARY="/your/path/to/lib" ${video-caffe-root}.

Building video-caffe

In a nutshell, key steps to build video-caffe are:

  1. git clone [email protected]:chuckcho/video-caffe.git
  2. cd video-caffe
  3. mkdir build && cd build
  4. cmake ..
  5. Make sure CUDA and CuDNN are detected and their paths are correct.
  6. make all
  7. make install
  8. (optional) make runtest

UCF-101 training demo

Follow these steps to train C3D on UCF-101.

  1. Download UCF-101 dataset from UCF-101 website.
  2. Unzip the dataset: e.g. unrar x UCF101.rar
  3. (Optional) video reader works more stably with extracted frames than directly with video files. Extract frames from UCF-101 videos by revising and running a helper script, ${video-caffe-root}/examples/c3d_ucf101/extract_UCF-101_frames.sh.
  4. Change ${video-caffe-root}/examples/c3d_ucf101/c3d_ucf101_{train,test}_split1.txt to correctly point to UCF-101 videos or directories that contain extracted frames.
  5. Modify ${video-caffe-root}/examples/c3d_ucf101/c3d_ucf101_train_test.prototxt to your taste or HW specification. Especially batch_size may have to be reduced for the GPU memory. Should run fine as is with 6GB GPU memory.
  6. Run training script: e.g. cd ${video-caffe-root} && examples/c3d_ucf101/train_ucf101.sh
  7. Sit back and enjoy.

License and Citation

Caffe is released under the BSD 2-Clause license.

video-caffe's People

Contributors

shelhamer avatar jeffdonahue avatar yangqing avatar longjon avatar sguada avatar kloudkl avatar sergeyk avatar yifeili3 avatar ronghanghu avatar qipeng avatar lukeyeager avatar flx42 avatar rbgirshick avatar philkr avatar dgolden1 avatar eelstork avatar mavenlin avatar jamt9000 avatar tnarihi avatar yosinski avatar erictzeng avatar cypof avatar mohomran avatar jyegerlehner avatar mtamburrano avatar netheril96 avatar ducha-aiki avatar kkhoot avatar timmeinhardt avatar ste-m5s avatar

Watchers

James Cloos avatar  avatar

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.