Skip to content

matifali/dockerdl

Repository files navigation

DockerDL Docker Build Docker Pulls DockerHub

DALL·E A wide-screen, imaginative illustration of a whale engaged in machine learning activities, featuring a large container to symbolize Docker

Deep Learning Docker Image

Don't waste time on setting up a deep learning environment while you can get a deep learning environment with everything pre-installed.

List of Packages installed

Image variants and tags

Variant Tag Conda PyTorch TensorFlow Image size
Conda conda ✔️ Docker Image Size (tag)
Tensorflow tf ✔️ Docker Image Size (tag)
PyTorch torch ✔️ Docker Image Size (tag)
PyTorch + Tensorflow tf-torch, latest ✔️ ✔️ Docker Image Size (tag)
PyTorch + Tensorflow + Conda tf-torch-conda ✔️ ✔️ ✔️ Docker Image Size (tag)

You can see the full list of tags https://hub.docker.com/r/matifali/dockerdl/tags.

Requirements

  1. Docker
  2. nvidia-container-toolkit 1
  3. Linux, or Windows with WSL2

Fast Start

docker run --gpus all --rm -it -h dockerdl matifali/dockerdl bash

JupyterLab server without conda

docker run --gpus all --rm -it -h dockerdl -p 8888:8888 matifali/dockerdl jupyter lab --no-browser --port 8888 --ServerApp.token='' --ip='*'

Connect by opening http://localhost:8888 in your browser.

Customize the image

Clone the repo

git clone https://github.com/matifali/dockerdl.git

Add or delete packages

Modify the corresponding [Dockerfile] to add or delete packages.

Note

You may have to rebuild the dockerdl-base if you are building a custom image and then use it as a base image. See Build section.

Build

The following --build-arg are available for the dockerdl-base image.

Argument Description Default Possible Values
USERNAME User name coder Any string or $USER
USERID User ID 1000 $(id -u $USER)
GROUPID Group ID 1000 $(id -g $USER)
CUDA_VER CUDA version 12.4.1
UBUNTU_VER Ubuntu version 22.04 22.04, 20.04, 18.04

Warning

Not all combinations of --build-arg are tested.

Step 1

Build the base image

docker build -t dockerdl-base:latest --build-arg USERNAME=coder --build-arg CUDA_VER=12.4.1 --build-arg UBUNTU_VER=22.04 -f base.Dockerfile .

Step 2

Build the image you want with the base image as the base image.

docker build -t dockerdl:tf --build-arg TF_VERSION=2.12.0 -f tf.Dockerfile .

or

docker build -t dockerdl:torch --build-arg -f torch.Dockerfile .

How to connect

VS Code

  1. Install vscode.
  2. Install the following extensions:
    1. Docker.
    2. Python.
    3. Remote Development.
  3. Follow the instructions here.

Coder

  1. Install Coder. (https://github.com/coder/coder).
  2. Use deeplearning template which references these images (https://github.com/matifali/coder-templates/tree/main/deeplearning).

JetBrains PyCharm Professional

Follow the instructions here.

Issues

If you find any issue please feel free to create an issue and submit a PR.

Support

  • Give a star (⭐) if using this has helped you.
  • Sponsor matifali

References

Footnotes

  1. This image is based on nvidia/cuda and uses nvidia-container-toolkit to access the GPU.