-
Notifications
You must be signed in to change notification settings - Fork 18.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide a Caffe package in Debian #2601
Comments
Probably #2523 could help you. |
@bhack Thank you for this info. |
Actually caffe maintain two build systems: Makefile and Cmake. |
Is there really a need to provide both Atlas and OpenBLAS versions? I don't think it makes a big difference performance-wise so I won't be upset if you were to settle on one BLAS library and only provide |
@bhack Yes, and I prefer to use Makefile :-) |
@flx42 Initially I don't want to force users to use one of the BLASes. These blogs are found in order to make a choice between atlas and openblas: Well, seems that I should take openblas ? |
I completely agree with @flx42 's comment. Sometimes too much choice is not that good. I think that OpenBLAS is a better choice |
@talda OK, thank you for feedback :-) |
@bhack Gotcha.
and README.Debian of openblas says:
Then IMHO
|
By the way, the alternative link
and the result of
We see libcaffe.so is directly linked to openblas, so alternating libblas.so makes no difference. Note that, I added SONAME and fixed RPATH issue for distro, so the result on your local caffe may differ from mine. |
The packaging work is available at the temp repo: These packages are provided:
And maybe python-caffe packages will be added in the future. |
The repo So I just made a mirror for it: |
Packaging work was moved to Debian-Science: |
Current summary: |
Thank you for working on packaging. This has been requested a lot.
|
Good news, the Debian Packaging of Caffe is done. Current packaging scheme provided these Debian package:
Suite 2: caffe-cuda
For pyhton2 caffe package please have a look at Currently I'm running the last build test on my machine, If you can't wait for Debian Official Archive to accept this package, I'll provide a new installation guide once the caffe was uploaded to P.S. Did you Caffe Devs plan any release date for caffe-1.0 ? |
Do you plan to re-organize the modularization after #2523? |
Well, I'm not going to change the modularization after that merger. |
Oops, seems that there are some troubles with python3-* packages. |
@cdluminate thanks for your packaging work! For pycaffe I think Python 2 is the most common choice but some use Python 3 and both are included in our continuous integration. |
wishlist: more cmake flags -
which means, if I turn currently there's no python3 version of google.protobuf in Debian, so I‘d better to bump caffe's python interface version to python2. |
This is a packaging status ping, as said in #3311 Caffe itself currently doesn't block packaging at all (it was completed). The real trouble and the real blocker is CUDA from Debian Unstable/Experimental, which is quite out of date (6.5.14 currently) so that it refuses to work with GCC-5. And that is what I'm looking into recently. |
Hmm. So will the package show up in experimental now that there is a package in? http://anonscm.debian.org/cgit/debian-science/packages/caffe.git/ |
@MicahChambers I plan to upload Caffe onto http://anonscm.debian.org/cgit/debian-science/packages/caffe.git/ is my working repo. You may see there is a release version of caffe for experimental in |
Thanks for the reply. Thats kind of a bummer. Debian packages are a pain in the ass. |
Glad to hear it. Did you change the source tarball or include those commits as patches? Just curious what the preferred Debian workflow is. |
Will cherry-pick the patches for the next upload
The release CUDA version was uploaded into experimental. |
Updated the post on the top of this page with a brief and informal guide. However only Debian/unstable users are recommended to have a try (Do production research machines use Debian/Sid? I guess no way. The administrator must be very cool to tame that beast). |
I'd like to bump the caffe debian package version to the current
[1] f1a8470 |
@cdluminate sure, I think the current master is a reasonable point to make a package. Fixing these failures, which do show up in the wild, would be nice. Thanks! |
Uploaded |
@shelhamer I'm trying to get caffe-cpu package into the next Debian release (its freeze date is comming soon -- Jan 5 2017). Do you have any release plan within this period? As mentioned before, the next Debian release is not possible to ship caffe-cuda since CUDA8.0 doesn't support its compiler (GCC-6). |
@cdluminate Thanks for the heads-up about packaging. It has been quite a while since a release at this point so we'll be meeting this week to make a plan for the next release. No promises, but with any luck there'll be a release for the end of the year. |
@shelhamer Thanks. For me the only blocker is python3-protobuf That means I can go ahead uploading caffe to unstable (then it will automatically enter the next release) as long as some Debian Developer is willing to have the protobuf package fixed. |
Python3-protobuf ( |
I'm preparing the If any
Edit: Maybe I'm wrong on Stretch's default clang version. |
Caffe cpu version[1] and cuda version[2] both available for Debian/unstable. It remains to be seen whether caffe will be shipped in the next release of Debian. Well... What I can do now is just waiting. [1] https://tracker.debian.org/pkg/caffe |
Replaced the first post of this issue with a draft guide. FAQ is open to anyone. |
I'm thinking of closing this bug, since the Debian packages are working well. Currently the caffe packages are only available for Debian/Sid, but if you BTW, I think https://tracker.debian.org/pkg/caffe |
P.S. Today I verified that |
@cdluminate Would there be a possibility or interest to add OpenCL-Caffe packages? |
@cdluminate If you close the issue because the packages are working I'd vote for including a debian install guide. Otherwise your guide is unlikely to be easily discoverable. If you could make a PR to the documentation when you close we can merge.
I hear you, but i'd rather not change the URL of the existing guide. Could you just add the new guide instead? |
@naibaf7 Providing I'm also working on Torch and Tensorflow packaging. |
@shelhamer Please look forward to the PR. |
https://tracker.debian.org/pkg/caffe Both the caffe-cpu and the caffe-cuda package has entered Debian/testing. Although caffe-cuda will be removed from testing soon however I cannot find a reason to keep this issue open. Marking this bug as done. LOL |
Update: While Stretch/Sid is still shipping Caffe-{cpu,gpu}_rc4 , the rc5 version is available in experimental. Ubuntu 17.04 has been released several days ago, and this is the first time that a Ubuntu release ships Caffe. Ubuntu 17.04 ships the rc4 version (automatically pulled from Debian), however with a hacky patch applied by Ubuntu guys. http://launchpadlibrarian.net/305712477/caffe_1.0.0~rc4-1_1.0.0~rc4-1ubuntu1.diff.gz (canceling unit test) This The bypassed unit test failure looks like the follows, and it is a problem of Ubuntu itself:
Full build log (unit test not canceled) https://launchpadlibrarian.net/303350189/buildlog_ubuntu-zesty-amd64.caffe_1.0.0~rc4-1_BUILDING.txt.gz Ubuntu (>= 16.10) users are suffering from the same problem, see e.g. #5077 |
I have thoughts (probably an OpenCV issue rather than "a problem of Ubuntu itself"), but neither this bug nor #5077 seems appropriate for the discussion. Will you make a new issue for this test error? |
Uploaded |
I sensed an odor of new release since you guys are ridiculously active these days. hhh |
Status
Caffe packages are available for
Debian/unstable
.Caffe packages are failing to build for Ubuntu-devel and need to be patched.
Last update: Dec.20 2016
Draft guide
Deploy Caffe with merely one command.
Brief Guide for Debian/unstable users
Only experienced linux users are recommended to try Debian/unstable (Sid).
To install caffe, first make sure you have something like the follows in file
/etc/apt/sources.list
:(Uncomment the second line if you want to re-compile caffe locally.)
Then update apt cache and install it. Note, you cannot install both the cpu version and the cuda version.
It should work out of box. I hope this work is helpful since there are many people struggling at the Caffe compiling process.
Here are some notes:
caffe-cuda
, it will automatically pull the CUDA package and the nvidia driver packages. The installation procress may fail if any part of the caffe dependency chain gets into trouble. That is to say, please take care if you have manually installed or significantly modified nvidia driver or CUDA toolkit or protobuf or any other related stuff.caffe-cuda
on a clean Debian system, report bug to me (via Debian's bug tracking system) please.caffe-cpu
, please report bug to me via Debian's bug tracking system.man caffe
) and a bash complementation script (caffe <TAB><TAB>
,caffe train <TAB><TAB>
). Both of them are still not merged into caffe master.python3-caffe-{cpu,cuda}
. No plan to support python2.Compiling your custom caffe package on Debian/unstable
There is no promise for the content in this subsection. If you just want to compile again from the source without any change, the following should work as expected. If you want to compile it with e.g. CUDNN support, you should at least be able to read and hack the file
debian/rules
under the source tree (It's a Makefile).First make sure you have a correct
deb-src
line in your apt source list file. Then we compile caffe with several simple commands.FAQ
where is caffe-cudnn?
Due to legal reason the cudnn library cannot be redistributed. I'll be happy to make this package when CUDNN becomes re-distributable. The workaround is to install cudnn by yourself, and hack at least the
debian/rules
file if you really want the caffe *.deb packages with CUDNN support.how to report bug via Debian bug tracking system?
See https://www.debian.org/Bugs/ .
I installed the CPU version, what should I do if I want to switch to CUDA verison?
sudo apt install caffe-cuda
, apt's dependency resolver is smart enough for this.Where is the examples, the models and other documentation stuff?
sudo apt install caffe-doc; dpkg -L caffe-doc
The text was updated successfully, but these errors were encountered: