Many scientific tools and frameworks for machine learning support the use of GPUs to increase performance for certain operations and thus reduce waiting time. Thanks to the Nvidia Docker plugin, Docker containers can also benefit from this. But besides the installed Docker plugin, it is also necessary that the images contain the Cuda runtime environment. This can either be installed later into the desired image or the image can be based on the Cuda image provided by Nvidia. The aim of this repository is to create various images for the most common scientific tools and frameworks based on the Nvidia Cuda Image. These can then be used as they are or as a basis for your own images.
To use the images provided here, you can either run them in the interactive mode or use them as a base image for your images.
docker run -it --rm cemizm/sci-gpu:tensorflow /bin/bash
FROM cemizm/sci-gpu:tensorflow
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD python train.py
The base image is the base for all images in this repository. Its based on the nvidia/cuda
image and installs all common system packages for the following images.
docker pull cemizm/sci-gpu:base
Extends the Base Image with python and pip environment and installs a bunch of pip packages for data science.
docker pull cemizm/sci-gpu:scipy
- Everything from base image
- python3 and pip3
- pandas, numexpr, matplotlib, scipy, seaborn, scikit-learn, scikit-image, sympy, cython, patsy, statsmodels, cloudpickle, dill, numba, bokeh, sqlalchemy, h5py, vincent, beautifulsoup, protobuf, xlrd , numpy, dask, ipywidgets
Adds Keras and Tensorflow GPU Backend to the image.
docker pull cemizm/sci-gpu:tensorflow
- Everything from scipy image
- tensorflow-gpu, keras
Adds pytorch with gpu support to the image.
docker pull cemizm/sci-gpu:pytorch
- Everything from scipy image
- pytorch
Adds jupyter lab to the tensorflow image
docker pull cemizm/sci-gpu:jupyter-tensorflow
- Everything from tensorflow image
- jupyter-lab