-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[Discussion] Status CUDA Support for tensorflow image #516
Comments
@pascalwhoop I'm not familiar with the licensing and distributions requirements for CUDA. Maybe @jakirkham can chime in.
The recipes wiki page (https://github.com/jupyter/docker-stacks/wiki/Docker-recipes) sounds like the right place to put a link. |
Adding a 👍 here to register interest in this feature, and happy to help debug if I can. A GPU-enabled TF image would be super useful. |
Okay I made some progress today. I built a Dockerfile based on the nvidia cuda image and then added everything else myself. I had issues with the tensorflow image hosted on gcr.io, because my Python3 kernels actually used python 2 underneath (which is a big nono obviously) The image contains:
It's big (5GB) but I guess it has a lot packing in it. The Python libs are the same as the datascience notebook, I left all R stuff out though. I think that can be a separate notebook The repo with my built Dockerfile is this one and I would love some feedback (@jamestwebber ? :-) ). If it pleases the community we can think about the best place to put it. I am unsure if it is a "Jupyter" or a "TensorFlow" or even a "AI research" Image... so under which organization to place it remains to be seen. I am currently building the image on a google cloud VM and I will push it to the docker hub so people can check it out and see if it works for them. Building it yourself requires you to DL the cudnn.so which you can only get with an nvidia account (yuck) but we should digress and swallow the proprietary pill for now... |
Cross-posting from the PR so it's retained here on the original issue: As a matter of principal, we (the Project Jupyter maintainers) do not wish to deal with the distribution of non-open source software. This sentiment includes both the binary Docker images and the toolchain we use to build them. We will be happy to revisit this issue if the CUDA license changes. Until then, we're going to close this issue. Users who wish to include CUDA in their Docker images will need to accept the license agreement and make their own builds. |
Good mentality, although I don't believe Nvidia will ever OS the cuda libs for the sake of generating nice revenue streams. Too bad. |
If you just want tensorflow-gpu to work, this this Dockerfile works for me
The I start using docker-compose
This requires nvidia-docker2 (the nvidia docker runtime referred to in the docker-compose file above). It has to be installed on the host machine, along with cuda 10.0 (and you need to take care to install a supported nvidia driver, I'm using 410.48, I downloaded and installed the deb file from nvidia). |
For me the approach by @david-waterworth did not work out: when I tried to |
@aboettcher there's 3 pain points I've encountered trying to get nvidia-docker to work.
If you don't use the latest CUDA and driver, you cannot run arbitrary versions of cuda in the containers, some versions work, some don't.
Not sure if any of this helps, the fact that you got something working implies you have something installed/working on the host machine but my experience is the above process seems the most general. In particular test different versions of the nvidia-docker images i.e.
This will show if you have the correct dependencies on the host |
@david-waterworth May I ask how you got it to work? I was following your Dockerfile and got my Jupyter Notebook up and running, but from keras import backend as K
K.tensorflow_backend._get_available_gpus() returned nothing, which I'm assuming the GPUs aren't detected? |
Hi all,
As far as I understood from this post, it's a legal issue if you can roll out NVIDIA CUDA with the images or not.
The text was updated successfully, but these errors were encountered: