pytorch build notes

master
ml server 2020-02-08 11:27:31 -07:00
parent 1e1b147740
commit 2cb732eac7
1 changed files with 64 additions and 7 deletions

View File

@ -1,11 +1,68 @@
# No Anaconda
Anaconda is a package manager for Python.
The Anaconda repository contains non-free software,
so don't use it.
# PyTorch
PyTorch is an alternative to TensorFlow.
## PyTorch Installation
Build from scratch without non-free options.
## Build Py
Build from scratch with free software options.
PyTorch has a `CMakeLists.txt`, so lets see how it goes with a `cmake` build....
Install build dependencies:
```
apt install cmake
mkdir build
cd build
cmake ..
ccmake ..
```
Notable build options:
```
BLAS --- has multiple options:
MKL (non-free bits possible)
vecLib (?)
FLAME (?)
Eigen (in Debian)
ATLAS (in Debian?)
OpenBLAS (in Debian)
BUILD_BINARY ON
BUILD_PYTHON ON
OPENMP_FOUND ON
USE_CUDA OFF
USE_CUDNN OFF
USE_DISTRIBUTED ON
USE_FFMPEG ON
USE_MKLDNN ON ?? with Debian's packages ?
USE_MKLDNN_CBLAS NO ?
USE_LEVELDB ?? Available in debian.
USE_LMDB ?? Available in Debian.
USE_MPI ON heh
USE_NCCL OFF nvidia
USE_NUMA ON ?
USE_NUMPY ON
USE_OBSERVERS ON ?
USE_OPENCL ON ?
USE_OPENCV ON ?
USE_OPENMP ON ?
USE_REDIS ?
USE_ROCKSDB Available in Debian, like leveldb and lmdb
USE_ZMQ Available in Debian, messaging.
USE_ZSTD Available in Debian, compression.
WITH_BLAS ?
WITH_OPENMP ON
CAFFE2_USE_MSVC_STATIC_RUNTIME OFF ??
```
# Proprietary Bits
Parts to avoid in the PyTorch ecosystem:
* Anaconda is a package manager for Python.The Anaconda repository contains non-free software,
so don't use it.
* "MKL" (Intel's non-free binaries).
* Note, these MKL packages are in Debian: `libmkldnn0 libmkldnn-dev libmkldnn-doc`
* Intel compiler.