Twelve containerized AI/ML environments in four families (datascience, deeplearning, llms, and kaggle), each available for NVIDIA GPU, CPU, and Apple Silicon. Used via the devcontainer repos below, which add VS Code configuration and project scaffolding so setup is a single git clone.
| Devcontainer repo | Purpose | Hardware | Image | Pulls |
|---|---|---|---|---|
datascience-devcontainer |
Intro data science | NVIDIA GPU | datascience-nvidia |
|
| CPU | datascience-cpu |
|||
| Mac (Apple Silicon) | datascience-mac |
|||
deeplearning-devcontainer |
Deep learning (TensorFlow + PyTorch) | NVIDIA GPU | deeplearning-nvidia |
|
| CPU | deeplearning-cpu |
|||
| Mac (Apple Silicon) | deeplearning-mac |
|||
llms-devcontainer |
LLM application development | NVIDIA GPU | llms-nvidia |
|
| CPU | llms-cpu |
|||
| Mac (Apple Silicon) | llms-mac |
|||
kaggle-devcontainer |
Kaggle competitions | NVIDIA GPU | kaggle-nvidia |
|
| CPU | kaggle-cpu |
|||
| Mac (Apple Silicon) | kaggle-mac |
- Eliminate setup friction: clone a devcontainer repo, open in VS Code, done. No manual environment configuration.
- Wide hardware support: GPU images cover Pascal through Blackwell; CPU fallbacks for machines without a GPU; native
linux/arm64for Apple Silicon. - Low barrier to entry: any machine works. A 16GB P100 can be had on eBay for ~$90, enough to train deep learning models and host LLMs without cloud compute or proprietary APIs.
- Standardized environments: the same software stack across all platforms, reducing troubleshooting burden and making community support easier.
For full documentation (usage guide, development reference, and per-image specifications) see:
Requirements:
- CPU images: Docker
- NVIDIA GPU images: Docker + NVIDIA Container Toolkit + host driver >= 570.x
- Mac images: Docker Desktop for Apple Silicon
With VS Code (recommended): Use one of the devcontainer repositories as a template to start a new project on GitHub, clone it, and then open the clone directory using VS Codes's Command Palette (Ctrl+Shift+P) and run Dev Containers: Open Folder in Container. The devcontainer configuration environment set-up and contains a standard project layout.
Standalone with JupyterLab: expose port 8888 and launch the server:
# CPU
docker run --rm -it -p 8888:8888 -v $(pwd):/workspace \
gperdrizet/datascience-cpu:latest \
jupyter lab --ip=0.0.0.0 --no-browser --allow-root
# NVIDIA GPU
docker run --rm -it --gpus all -p 8888:8888 -v $(pwd):/workspace \
gperdrizet/datascience-nvidia:latest \
jupyter lab --ip=0.0.0.0 --no-browser --allow-rootReplace the image name with whichever family and variant you need. The -v $(pwd):/workspace flag mounts your current directory into the container so files persist after the container stops.
datascience
Lightweight intro ML environment. Covers Python, data wrangling, visualization, and classical machine learning. No deep learning frameworks; keeps the image small and fast. The NVIDIA variant adds GPU-accelerated arrays via CuPy.
deeplearning
Full deep learning stack with both TensorFlow 2.17 and PyTorch 2.11.0 pre-installed and GPU-ready. Built on NVIDIA's official NGC TensorFlow container, with PyTorch and CuPy added via custom-built wheels for wide GPU architecture support (Pascal through Blackwell).
llms
LLM application development. Includes LangChain, LlamaIndex, Hugging Face Transformers, ChromaDB, and API clients for OpenAI, Anthropic, and Ollama. PyTorch is included via a custom-built wheel with wide GPU support. Designed for building and running LLM-powered applications locally.
kaggle
Mirror of the Kaggle notebook submission environment. Package versions are pinned to match a Kaggle notebook pip freeze so code runs identically when submitted to competitions. The NVIDIA variant also includes the RAPIDS stack (cuDF, cuML, CuPy) and a custom PyTorch wheel with Pascal support, fixing a defect in Kaggle's own stock wheel.
The Dockerfiles, scripts, and documentation in this repository are licensed under the MIT License. Built images incorporate third-party base images with their own upstream licenses.