Skip to content

Latest commit

 

History

History
71 lines (58 loc) · 3.69 KB

README.md

File metadata and controls

71 lines (58 loc) · 3.69 KB

Basic ML

GitHub Workflow Status GitHub GitHub last commit

Base images with cuda support for varioud ML-related python workloads:

  • Inference APIs
  • Jupyter Environments
  • Cluster Workers

Structure

All images are divided into two categories:

  1. Base images Provide basic image with python, tini, gpg and CUDA-drivers if applicable

    Docker

    Docker Image Size (tag) Docker Image Size (tag) Docker Image Size (tag) Docker Image Size (tag) Docker Image Size (tag) Docker Image Size (tag)

  2. Target images Provide task-specific software and configuration

    2.1 Jupyter environments Image with pre-installed jupyter as well as multiple useful utilities. Jupyter Server is protected with password by default. You could either use default password or set your own via docker run -e PASSWORD="..." .... Exposed port is 8888.

    Docker

    2.2 SSH-accessible environemnts Image with pre-installed and configured openssh-server and a script, that populates the system with either authentication option: password, single public key or whole ~/.ssh/authroized_keys file

    Docker


Quick Start:

To run those images you will need Docker or any other container platform. In case of gpu system - docker must be configured with nvidia-docker2. Example script to run container is below:

docker run \
    --gpus=all \
    --ipc=host \
    -p 8888:8888 \
    -v `pwd`/notebooks:/workspace/notebooks \
    -v `pwd`/data:/workspace/data \
    -d \
    --name basic-ml \
        rexhaif/basic-ml:jupyter-cuda11.6-cudnn8-devel

To run SSH-accessible container use this script:

docker run \
    --gpus=all \
    --ipc=host \
    -p 2222:22 \
    -e AUTHORIZED_KEYS="`cat ~/.ssh/authorized_keys`" \
    -e PUBLIC_KEY="ssh-ec25519 ..." \
    -e PASSWORD="the-password" \
    -v `pwd`/projects:/workspace/code \
    -v `pwd`/data:/workspace/data \
    -d \
    --name basic-ml \
        rexhaif/basic-ml:ssh-cuda11.6-cudnn8-devel

You can choose any suitable option to configure authentication, either with one of AUTHORIZED_KEYS / PUBLIC_KEY / PASSWORD, or with all of them simultaneously. Port 2222 from -p 2222:22 can be changed to any port of your choice.