|
|
|
@ -1,12 +1,6 @@
|
|
|
|
|
# Caffe2
|
|
|
|
|
|
|
|
|
|
Caffe2 is a lightweight, modular, and scalable deep learning framework. Building on the original [Caffe](http://caffe.berkeleyvision.org), Caffe2 is designed with expression, speed, and modularity in mind.
|
|
|
|
|
|
|
|
|
|
## Questions and Feedback
|
|
|
|
|
|
|
|
|
|
Please use Github issues (https://github.com/caffe2/caffe2/issues) to ask questions, report bugs, and request new features.
|
|
|
|
|
|
|
|
|
|
Please participate in our survey (https://www.surveymonkey.com/r/caffe2). We will send you information about new releases and special developer events/webinars.
|
|
|
|
|
Caffe2 is a deep learning framework made with expression, speed, and modularity in mind. It is an experimental refactoring of Caffe, and allows a more flexible way to organize computation.
|
|
|
|
|
|
|
|
|
|
## License and Citation
|
|
|
|
|
|
|
|
|
@ -16,23 +10,97 @@ Caffe2 is released under the [BSD 2-Clause license](https://github.com/Yangqing/
|
|
|
|
|
|
|
|
|
|
[](https://travis-ci.org/caffe2/caffe2)
|
|
|
|
|
|
|
|
|
|
### Detailed Build Status
|
|
|
|
|
[](https://ci.appveyor.com/project/Yangqing/caffe2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Detailed build matrix (hit refresh if you see icons not showing up due to heroku):
|
|
|
|
|
|
|
|
|
|
| Target | Status |
|
|
|
|
|
|-------------|----|
|
|
|
|
|
| Linux | [](https://travis-ci.org/caffe2/caffe2) |
|
|
|
|
|
| Mac (CPU) | [](https://travis-ci.org/caffe2/caffe2) |
|
|
|
|
|
| Android | [](https://travis-ci.org/caffe2/caffe2) |
|
|
|
|
|
| iOS | [](https://travis-ci.org/caffe2/caffe2) |
|
|
|
|
|
| Linux + MKL | [](https://travis-ci.org/caffe2/caffe2) |
|
|
|
|
|
| Windows | [](https://ci.appveyor.com/project/Yangqing/caffe2) |
|
|
|
|
|
|
|
|
|
|
### Further Resources on [Caffe2.ai](http://caffe2.ai)
|
|
|
|
|
git clone --recursive https://github.com/caffe2/caffe2.git
|
|
|
|
|
cd caffe2
|
|
|
|
|
|
|
|
|
|
#### OS X
|
|
|
|
|
|
|
|
|
|
brew install automake protobuf
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake ..
|
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
* [Installation](http://caffe2.ai/docs/getting-started.html)
|
|
|
|
|
* [Learn More](http://caffe2.ai/docs/learn-more.html)
|
|
|
|
|
* [Upgrading to Caffe2](http://caffe2.ai/docs/caffe-migration.html)
|
|
|
|
|
* [Datasets](http://caffe2.ai/docs/datasets.html)
|
|
|
|
|
* [Model Zoo](http://caffe2.ai/docs/zoo.html)
|
|
|
|
|
* [Tutorials](http://caffe2.ai/docs/tutorials.html)
|
|
|
|
|
* [Operators Catalogue](http://caffe2.ai/docs/operators-catalogue.html)
|
|
|
|
|
* [C++ API](http://caffe2.ai/doxygen-c/html/classes.html)
|
|
|
|
|
* [Python API](http://caffe2.ai/doxygen-python/html/namespaces.html)
|
|
|
|
|
#### Ubuntu
|
|
|
|
|
|
|
|
|
|
sudo apt-get install libprotobuf-dev protobuf-compiler libatlas-base-dev libgoogle-glog-dev libgtest-dev liblmdb-dev libleveldb-dev libsnappy-dev python-dev python-pip libiomp-dev libopencv-dev libpthread-stubs0-dev cmake python-protobuf
|
|
|
|
|
sudo pip install numpy
|
|
|
|
|
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_8.0.44-1_amd64.deb
|
|
|
|
|
sudo dpkg -i cuda-repo-ubuntu1404_8.0.44-1_amd64.deb
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get install cuda
|
|
|
|
|
sudo apt-get install git
|
|
|
|
|
|
|
|
|
|
CUDNN_URL="http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz" &&
|
|
|
|
|
curl -fsSL ${CUDNN_URL} -O &&
|
|
|
|
|
sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local &&
|
|
|
|
|
rm cudnn-8.0-linux-x64-v5.1.tgz &&
|
|
|
|
|
sudo ldconfig
|
|
|
|
|
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake ..
|
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
#### Android and iOS
|
|
|
|
|
|
|
|
|
|
We use CMake's Android and iOS ports to build native binaries that you can then integrate into your Android or XCode projects. See scripts/build_android.sh and scripts/build_ios.sh for more details.
|
|
|
|
|
|
|
|
|
|
For Android, one can also use gradle to build Caffe2 directly with Android Studio. An example project can be found [here](https://github.com/bwasti/AICamera). Note that you may need to configure Android Studio so that it has the right SDK and NDK versions to build the code.
|
|
|
|
|
|
|
|
|
|
#### Raspberry Pi
|
|
|
|
|
|
|
|
|
|
For Raspbian, run scripts/build_raspbian.sh on the Raspberry Pi.
|
|
|
|
|
|
|
|
|
|
#### Tegra X1
|
|
|
|
|
|
|
|
|
|
To install Caffe2 on NVidia's Tegra X1 platform, simply install the latest system with the NVidia JetPack installer, and then run scripts/build_tegra_x1.sh on the Tegra device.
|
|
|
|
|
|
|
|
|
|
## Python support
|
|
|
|
|
|
|
|
|
|
To run the tutorials you'll need ipython-notebooks and matplotlib, which can be installed on OS X with:
|
|
|
|
|
|
|
|
|
|
brew install matplotlib --with-python3
|
|
|
|
|
pip install ipython notebook
|
|
|
|
|
|
|
|
|
|
## Build status (known working)
|
|
|
|
|
|
|
|
|
|
Ubuntu 14.04 (GCC)
|
|
|
|
|
- [x] Default CPU build
|
|
|
|
|
- [x] Default GPU build
|
|
|
|
|
|
|
|
|
|
OS X (Clang)
|
|
|
|
|
- [x] Default CPU build
|
|
|
|
|
- [x] Default GPU build
|
|
|
|
|
|
|
|
|
|
Options (both Clang and GCC)
|
|
|
|
|
- [ ] Nervana GPU
|
|
|
|
|
- [ ] ZMQ
|
|
|
|
|
- [ ] RocksDB
|
|
|
|
|
- [ ] MPI
|
|
|
|
|
- [ ] OpenMP
|
|
|
|
|
- [x] No LMDB
|
|
|
|
|
- [x] No LevelDB
|
|
|
|
|
- [x] No OpenCV
|
|
|
|
|
|
|
|
|
|
BLAS
|
|
|
|
|
- [x] OpenBLAS
|
|
|
|
|
- [x] ATLAS
|
|
|
|
|
- [ ] MKL
|
|
|
|
|
|
|
|
|
|
Other
|
|
|
|
|
- [x] CMake 2.8 support
|
|
|
|
|
- [x] List of dependencies for Ubuntu 14.04
|
|
|
|
|
- [x] List of dependencies for OS X
|
|
|
|
|