Skip to content

A set of basic containers for ML-related workloads: inference apis, jupyter environments, etc.

License

Notifications You must be signed in to change notification settings

Rexhaif/basic-ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A set of basic containers for ML-related workloads: inference apis, jupyter environments, etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published