commit | 335b73221c4973b0bf4a5248e1009f33010c5652 | [log] [tgz] |
---|---|---|
author | Dmytro Dzhulgakov <dzhulgakov@fb.com> | Thu Feb 09 20:40:16 2017 -0800 |
committer | Facebook Github Bot <facebook-github-bot@users.noreply.github.com> | Thu Feb 09 20:46:35 2017 -0800 |
tree | b19142df59bb049f8300b6a942e02f935c743301 | |
parent | 3e08beb75e81c53a0fca57d496d55f1d3330e6dd [diff] |
Unify train_local and train_with_distributed_readers Summary: Outline of changes: - add single-operator support to Caffe2-Flow integration (based on Alisson's suggestions) - because of above support we can move graph construction to the main workflow body and pass the job to the Flow operator doing running, similarly to the distributed case - after that it's easy to unify code even more - there's some trickery required to make sure model exporting doesn't pollute Cluster info (as TaskGroup.to_task() creates new tasks) Important: this diff changes train_local behavior by introducing queue between preprocessing and trainer (before we did everything on trainer thread). It doesn't seem to impact perf much (even slightly positive), so I guess it's fine. It also allows for better unification. I'll follow up with a separate diff that moves max_examples gating to multi_reader (including train_local) and then we can enable checkpointing. Reviewed By: xianjiec Differential Revision: D4526079 fbshipit-source-id: 8c44044f45e7738e9b13e5b3acfbb994bc5a3d72
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.
git clone --recursive https://github.com/bwasti/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 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