Awesome
News: Now the offical caffe has merged the windows fork maintained by Microsoft: https://github.com/BVLC/caffe/tree/windows .
I think it is time to turn your code to the official version. This repository, caffe-windows
, will be used for my personal research from right now. Thank you all guys who have been making contribution to the windows version of Caffe!
People who do research in Facial Analysis or Visualization may continue to follow my ms
branch(link). I will keep updating layers and scripts of these two areas.
I have made a list of some frequently asked questions in FAQ.md. If you get confused during configuring, please firstly look up for your question in the FAQ.md. This FAQ list is still under construction, I will keep adding questions into it.
Setup step:
-
Download third-party libraries from BaiduYun Disk or OneDrive and extract the files to
caffe-windows_root/3rdparty/
. Please don't forget to add the./3rdparty/bin
folder to your environment variablePATH
. -
Run
./src/caffe/proto/extract_proto.bat
to createcaffe.pb.h
,caffe.pb.cc
andcaffe_pb2.py
. -
Double click ./buildVS2013/MainBuilder.sln to open the solution. If you do not have a Nvidia GPU, please open ./build_cpu_only/MainBuilder.sln.
-
Change the compile mode to Release and X64.
-
Modify the cuda device compute capability defined in the settings (
caffelib properties
->CUDA C/C++
->Device
->Code Generation
) to your GPU's compute capability (such as compute_30,sm_30; etc). You can look up for your GPU's compute capability in https://en.wikipedia.org/wiki/CUDA . Some general GPUs' compute capabilities are listed below.
- If your GPU's compute capability is below or equal to 2.1, please remove the
USE_CUDNN
macro in the proprocessor definition of all projects. - If you are using cpu only solution, just ignore this step.
- Compile.
GPU | Compute Capability |
---|---|
GTX660, 680, 760, 770 | compute_30,sm_30 |
GTX780, Titan Z, Titan Black, K20, K40 | compute_35,sm_35 |
GTX960, 980, Titan X | compute_52,sm_52 |
中文安装说明:http://blog.csdn.net/happynear/article/details/45372231
Matlab Wrapper
Just replace the Matlab include and library path defined in the settings and compile.
Don't forget to add ./matlab
to your Matlab path.
Python Wrapper
Similar with Matlab, replace the python include and library path and compile.
Most of the libraries listed in ./python/requirements.txt
can be installed by pip install
. However, some of them cannot be installed so easily.
For protobuf, you may download the codes from https://github.com/google/protobuf. Copy caffe-windows-root/src/caffe/proto/protoc.exe
to protobuf-root/src
. Then run python setup.py install
in protobuf-root/python
.
For leveldb, I have created a repository https://github.com/happynear/py-leveldb-windows . Please follow the instructions in README.md
to install it.
MNIST example
Please download the mnist leveldb database from https://pan.baidu.com/s/1mgl9ndu and extract it to ./examples/mnist
. Then double click ./run_mnist.bat
to run the MNIST demo.
Update log
2015/11/09 CuDNN v3 works well now.
2015/09/14 Multi-GPU is supported now.
WARNING: When you are using multiple gpus to train a model, please do not directly close the command window. Instead, please use Ctrl+C
to avoid the gpu driver from crash.
You can also press Ctrl+Break
to save a model snapshot whenever you want during training.
License and Citation
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}
}