Skip to content

matifali/dockerdl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6cda44f · Aug 22, 2024
Jun 24, 2024
Mar 19, 2023
Aug 22, 2024
May 30, 2024
May 30, 2024
May 21, 2024
Jan 29, 2024
Jan 29, 2024
Dec 3, 2023

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.