Tensors and Dynamic neural networks in Python with strong GPU acceleration pytorch.org
Go to file
Huazhong Ning cb3c41b9a9 PiecewiseLinearTransformOp transform binary predictions specially
Summary:
The existing op tranforms the input in a general way. It needs M transform mappings to transform a NxM input tensor.
But for binary predictions X (Nx2 tensor), we know that X[:, 0] = 1 - X[:, 1].
So we just need one mapping for X[:, 1]. After being transformed, we can compute X[:, 0].
This diff is to handle this.

Differential Revision: D4550441

fbshipit-source-id: 42d8c6e88d830c97628ee930b543740a32acf904
2017-02-15 16:00:44 -08:00
.travis Don't install the full CUDA toolkit 2017-02-13 18:50:20 -08:00
caffe/proto CMake completions work 2017-01-11 16:59:22 -08:00
caffe2 PiecewiseLinearTransformOp transform binary predictions specially 2017-02-15 16:00:44 -08:00
cmake initial version of windows build 2017-02-13 23:02:40 -08:00
docs Update docs to reflect current build status 2017-01-05 09:59:31 -08:00
scripts initial version of windows build 2017-02-13 23:02:40 -08:00
third_party Add nnpack 2017-02-01 21:45:18 -08:00
.Doxyfile Adding optional Eigen code. Added a switch USE_SYSTEM_EIGEN in Env. Misc changes. 2015-10-18 16:55:24 -07:00
.gitignore Use protobuf's own cmake scripts and add travis for ios 2017-01-28 13:29:32 -08:00
.gitmodules Add nnpack 2017-02-01 21:45:18 -08:00
.travis.yml Use protobuf's own cmake scripts and add travis for ios 2017-01-28 13:29:32 -08:00
CMakeLists.txt Halfway into windows port 2017-02-13 09:46:18 -08:00
LICENSE adding license back 2017-01-05 10:08:17 -08:00
Makefile goodbye old brewery 2017-01-04 20:58:35 -08:00
README.md Fix git URL in README 2017-02-14 11:48:09 -08:00

Caffe2

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

Caffe2 is released under the BSD 2-Clause license.

Building Caffe2

Build Status

git clone --recursive https://github.com/caffe2/caffe2.git
cd caffe2

OS X

brew install automake protobuf
mkdir build && cd build
cmake ..
make

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
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. 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)

  • Default CPU build
  • Default GPU build

OS X (Clang)

  • Default CPU build
  • Default GPU build

Options (both Clang and GCC)

  • Nervana GPU
  • ZMQ
  • RocksDB
  • MPI
  • OpenMP
  • No LMDB
  • No LevelDB
  • No OpenCV

BLAS

  • OpenBLAS
  • ATLAS
  • MKL

Other

  • CMake 2.8 support
  • List of dependencies for Ubuntu 14.04
  • List of dependencies for OS X