[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: