commit | 9cb901caf0d18b93b00bc24968fdfcd1175708f1 | [log] [tgz] |
---|---|---|
author | Aapo Kyrola <akyrola@fb.com> | Mon Apr 24 14:04:51 2017 -0700 |
committer | Yangqing Jia <jiayq@devgpu198.prn2.facebook.com> | Mon Apr 24 15:52:27 2017 -0700 |
tree | 9f51f0de4966da3847ee4f98814abc6aa1145730 | |
parent | 7440cd5ef433cd57abdb04b3d5600db8f9614227 [diff] |
Forward-only rnns Summary: Added option to recurrent_net and RNNCell's for forward_only. If this is set, the backward_step_net is not passed to the operator. When backward_step_net is not available, operator knows it is in forward_only mode and does not create workspaces for each step but cycles through only one private workspace. Note: we could avoid doing a lot of work in recurrent.py:recurrent_network call when backward step is not needed, but doing that nicely requires more refactoring that I did not want to do now. Thus, we create the backward step nets etc, but just don't pass it to the op. This can be used to create more efficient inference models. You can also sanitize existing inference nets and remove the backward_step_net argument to get the benefits. Reviewed By: salexspb Differential Revision: D4916482 fbshipit-source-id: c99b93c9cb897c32b0f449253f7f6d6a942618ad
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.
Caffe2 is released under the BSD 2-Clause license.
Detailed build matrix (hit refresh if you see icons not showing up due to heroku):
Target | Status |
---|---|
Linux | |
Mac (CPU) | |
Android | |
iOS | |
Linux + MKL | |
Windows |
git clone --recursive https://github.com/caffe2/caffe2.git cd caffe2
brew install automake protobuf mkdir build && cd build cmake .. make
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
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. Note that you may need to configure Android Studio so that it has the right SDK and NDK versions to build the code.
For Raspbian, run scripts/build_raspbian.sh on the Raspberry Pi.
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.
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
Ubuntu 14.04 (GCC)
OS X (Clang)
Options (both Clang and GCC)
BLAS
Other