-
Generative Adversarial Training experimental feature, testing.
-
Bounding Box input layers Read bounding box label files. New layers include: image_box_data_layer, dense_image_box_data_layer.
-
YOLO layers: real time object detection, check original paper for details. Currently only support cpu computation on the loss layer. New layers include: yolo_loss_layer
-
Cyclic operations: Embed rotational symmetry to neural networks, check original paper for details. New layers include: cyclic_pool_layer, cyclic_roll_layer, cyclic_slice_layer.
-
Label Discretization: Discretize continuous label (potentially unlinearly) to convert regression problems to classification problem. New lyaers include: discretize_layer.
-
Gaussian Probability Loss: A loss layer that takes two bottoms (one mean, one varirance) to maximize the likelihood of a gaussian distribution. Can be viewed as a generalized case for euclidean loss. New layers include: gaussian_loss_layer (lorentzian_loss_layer is similar).
-
Data Augmentation: multiple data augmentation on the fly using opencv3.1.0. check util/image_transformations. Functions including: rotation, scaling jitter, contrast jitter, perspective transformation, periodic transformation, more cropping options.
-
Ladder Net: multiple layers from the ladder network. New layers include: noise_layer, ladder_loss_layer, vanilla_ladder_combinator_layer.
-
High-level Python Wrapper: quickly build net in python. check python/build_net.py
-
Draw Net: draw net with another style. check python/draw_net2.py
-
Rescale Label: rescale labels in two symmetric opposite direction for regression task. New layers include: regression_label_layer.
-
Functions: element wise sinh function. New layers include: sinh_layer.
-
others: multiple other changes in existing modules.
-
support for both ubuntu 16.04 and 14.04 set tag USE_16_04 :=1 in Makefile.config to use under ubuntu 16.04
Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors.
Check out the project site for all the details like
- DIY Deep Learning for Vision with Caffe
- Tutorial Documentation
- BVLC reference models and the community model zoo
- Installation instructions
and step-by-step examples.
Please join the caffe-users group or gitter chat to ask questions and talk about methods and models. Framework development discussions and thorough bug reports are collected on Issues.
Happy brewing!
Caffe is released under the BSD 2-Clause license. The BVLC reference models are released for unrestricted use.
Please cite Caffe in your publications if it helps your research:
@article{jia2014caffe,
Author = {Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, Trevor},
Journal = {arXiv preprint arXiv:1408.5093},
Title = {Caffe: Convolutional Architecture for Fast Feature Embedding},
Year = {2014}
}
This branch of Caffe extends BVLC-led Caffe by adding Windows support and other functionalities commonly used by Microsoft's researchers, such as managed-code wrapper, Faster-RCNN, R-FCN, etc. Contact: Kenneth Tran (ktran@microsoft.com)
Linux (CPU) |
Windows (CPU) |
---|---|
Requirements: Visual Studio 2013
Copy .\windows\CommonSettings.props.example
to .\windows\CommonSettings.props
By defaults Windows build requires CUDA
and cuDNN
libraries.
Both can be disabled by adjusting build variables in .\windows\CommonSettings.props
.
Python support is disabled by default, but can be enabled via .\windows\CommonSettings.props
as well.
3rd party dependencies required by Caffe are automatically resolved via NuGet.
Download CUDA Toolkit 7.5
from nVidia website.
If you don't have CUDA installed, you can experiment with CPU_ONLY build.
In .\windows\CommonSettings.props
set CpuOnlyBuild
to true
and set UseCuDNN
to false
.
Download cuDNN v4
or cuDNN v5
from nVidia website.
Unpack downloaded zip to %CUDA_PATH% (environment variable set by CUDA installer).
Alternatively, you can unpack zip to any location and set CuDnnPath
to point to this location in .\windows\CommonSettings.props
.
CuDnnPath
defined in .\windows\CommonSettings.props
.
Also, you can disable cuDNN by setting UseCuDNN
to false
in the property file.
To build Caffe Python wrapper set PythonSupport
to true
in .\windows\CommonSettings.props
.
Download Miniconda 2.7 64-bit Windows installer [from Miniconda website] (http://conda.pydata.org/miniconda.html).
Install for all users and add Python to PATH (through installer).
Run the following commands from elevated command prompt:
conda install --yes numpy scipy matplotlib scikit-image pip
pip install protobuf
After you have built solution with Python support, in order to use it you have to either:
- set
PythonPath
environment variable to point to<caffe_root>\Build\x64\Release\pycaffe
, or - copy folder
<caffe_root>\Build\x64\Release\pycaffe\caffe
under<python_root>\lib\site-packages
.
To build Caffe Matlab wrapper set MatlabSupport
to true
and MatlabDir
to the root of your Matlab installation in .\windows\CommonSettings.props
.
After you have built solution with Matlab support, in order to use it you have to:
- add the generated
matcaffe
folder to Matlab search path, and - add
<caffe_root>\Build\x64\Release
to your system path.
Now, you should be able to build .\windows\Caffe.sln