Try to improve serialization speed for SparseNN. Summary: Created some simple benchmark to test model saving speed, plus few possible optimization on top of it. Since we don't really want to have partial LogFileDB ever, it makes sense to commit the transactions only after we've finished serialization. As a result in my test serialization time in my dummy test drops from 480 seconds, to: Serialization time: 52.5134651661 Deserialization time: 60.5741639137 One more really scary things that I've found: it looks like load_op with load_all might actually load corrupted DBs (if they'll be truncated), so we do need to fix it really badly (save all blobs we have in the DB or even better checksum). Reviewed By: dzhulgakov Differential Revision: D4558216 fbshipit-source-id: 4145c07f29b9dda527a2e57842f3abd8023d71a3
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/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
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