Is it possible to package caffe, a deep learning framework ?
Hi Debian-Science folks,
(please CC me when reply)
Caffe is a deep learning framework. It is developed by the Berkeley
Vision and Learning Center (BVLC) and by community contributors.
Caffe is released under the BSD 2-Clause license.
http://caffe.berkeleyvision.org/
I'm wondering if it's possible to package caffe for debian,
since I found some points which make packaging it harder.
1. for building CPU-only caffe on debian, a change to
header path is enough, as said in the link below:
https://github.com/BVLC/caffe/issues/2347
However, it can build with 3 different libblas:
libatlas, MKL, libopenblas
So many BLASes, but Which one to choose as build-deps ?
However I think packaging CPU-only caffe for debian
is far not enough. As the CPU training is slower than GPU.
2. caffe is 2-Clause-BSD licensed, while GPU version of
caffe depends on CUDA, and optionally cuDNN.
So, CPU-only version of caffe could be put into main secion,
while GPU version of caffe would go into contrib/non-free section.
3. CUDA is available in Debian Archive, but not cuDNN.
So currently we can't build caffe package with cuDNN.
3 shows that maybe caffe should be packaged in some different
versions, such as:
caffe-cpu-only
caffe-gpu
caffe-gpu-cudnn (not possible yet)
IMHO However considering 1, should caffe be packaged into
c-c-o-atlas
c-c-o-openblas
c-g-atlas
c-g-openblas
that's insane ...
atlas, mkl, openblas all provide libblas.so, liblapack.so,
but I've not looked into their API compatibility yet.
I'm new to debian packaging, but if there's anyone intend to
package caffe for debian, maybe I can offer some help.
Thanks ;)
--
Regards,
C.D.Luminate
Reply to: