Tuesday, December 15, 2015

caffe HDF5 data layer preperation

https://groups.google.com/forum/#!topic/caffe-users/HN1eaUPBKO4

https://github.com/BVLC/caffe/tree/master/matlab/hdf5creation


Tuesday, December 1, 2015

Developing new layers

https://github.com/BVLC/caffe/wiki/Development

Caffe define a new layer hands on

Here's roughly the process I follow.
  1. Add a class declaration for your layer to the appropriate one of common_layers.hpp,data_layers.hpploss_layers.hppneuron_layers.hpp, orvision_layers.hpp. Include an inline implementation of type and the *Blobs()methods to specify blob number requirements. Omit the *_gpu declarations if you'll only be implementing CPU code.
  2. Implement your layer in layers/your_layer.cpp.
    • SetUp for initialization: reading parameters, allocating buffers, etc.
    • Forward_cpu for the function your layer computes
    • Backward_cpu for its gradient
  3. (Optional) Implement the GPU versions Forward_gpu and Backward_gpu inlayers/your_layer.cu.
  4. Add your layer to proto/caffe.proto, updating the next available ID. Also declare parameters, if needed, in this file.
  5. Make your layer createable by adding it to layer_factory.cpp.
  6. Write tests in test/test_your_layer.cpp. Usetest/test_gradient_check_util.hpp to check that your Forward and Backward implementations are in numerical agreement.

Friday, September 4, 2015

useful dataset for cv

http://rogerioferis.com/VisualRecognitionAndSearch2014/Resources.html

how to debug matlab code in linxu system

x = rand(10,10);
y = rand(10,5);
z = x * y;
keyboard; % you can interactively inspect x, y, z here
z = sort(z);
To leave keyboard mode, you can type dbquit to exit the program, or return to continue executing the program.

Thursday, September 3, 2015

feature reduction code

http://www.cad.zju.edu.cn/home/dengcai/Data/DimensionReduction.html

CloudCV: Object Detection

http://cloudcv.org/objdetect/

Benchmarks and challenges like PASCAL VOC and ImageNet have played a crucial role in advancing computer vision algorithms. However, with minor exceptions, such challenges also result in massive duplication of effort, with each research group developing its own infrastructure and code-base. In fact, warnings of fragmentation and lack of code reuse have repeatedly been among the top observations by forward-looking NSF funded workshops [1,2].
CloudCV can help unify fragmented efforts by being a unified data and code repository.