{"id":51468667,"url":"https://github.com/gperdrizet/deeplearning-devcontainer","last_synced_at":"2026-07-06T14:30:36.881Z","repository":{"id":345448149,"uuid":"1185917976","full_name":"gperdrizet/deeplearning-devcontainer","owner":"gperdrizet","description":"Containerized development environment for deeplearning projects","archived":false,"fork":false,"pushed_at":"2026-06-18T19:47:13.000Z","size":97,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-18T21:25:16.739Z","etag":null,"topics":["deep-learning","devops","mlops","neural-networks","python","pytorch","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gperdrizet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-19T04:21:11.000Z","updated_at":"2026-06-18T19:47:18.000Z","dependencies_parsed_at":"2026-05-05T18:02:23.808Z","dependency_job_id":null,"html_url":"https://github.com/gperdrizet/deeplearning-devcontainer","commit_stats":null,"previous_names":["gperdrizet/deeplearning-devcontainer"],"tags_count":4,"template":true,"template_full_name":null,"purl":"pkg:github/gperdrizet/deeplearning-devcontainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fdeeplearning-devcontainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fdeeplearning-devcontainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fdeeplearning-devcontainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fdeeplearning-devcontainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gperdrizet","download_url":"https://codeload.github.com/gperdrizet/deeplearning-devcontainer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gperdrizet%2Fdeeplearning-devcontainer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35195590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","devops","mlops","neural-networks","python","pytorch","tensorflow"],"created_at":"2026-07-06T14:30:34.143Z","updated_at":"2026-07-06T14:30:36.836Z","avatar_url":"https://github.com/gperdrizet.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deep learning development environment\n\n[![Sync release](https://github.com/gperdrizet/deeplearning-devcontainer/actions/workflows/sync-release.yml/badge.svg)](https://github.com/gperdrizet/deeplearning-devcontainer/actions/workflows/sync-release.yml)\n[![Python](https://img.shields.io/badge/Python-3.12-3776AB?logo=python\u0026logoColor=white)](https://www.python.org/)\n[![PyTorch](https://img.shields.io/badge/PyTorch-2.11.0-EE4C2C?logo=pytorch\u0026logoColor=white)](https://pytorch.org/)\n[![TensorFlow](https://img.shields.io/badge/TensorFlow-2.17-FF6F00?logo=tensorflow\u0026logoColor=white)](https://www.tensorflow.org/)\n[![CUDA](https://img.shields.io/badge/CUDA-12.8-76B900?logo=nvidia\u0026logoColor=white)](https://developer.nvidia.com/cuda-toolkit)\n[![Docker Pulls deeplearning-nvidia](https://img.shields.io/docker/pulls/gperdrizet/deeplearning-nvidia?label=deeplearning-nvidia\u0026logo=docker)](https://hub.docker.com/r/gperdrizet/deeplearning-nvidia)\n[![Docker Pulls deeplearning-cpu](https://img.shields.io/docker/pulls/gperdrizet/deeplearning-cpu?label=deeplearning-cpu\u0026logo=docker)](https://hub.docker.com/r/gperdrizet/deeplearning-cpu)\n[![Docker Pulls deeplearning-mac](https://img.shields.io/docker/pulls/gperdrizet/deeplearning-mac?label=deeplearning-mac\u0026logo=docker)](https://hub.docker.com/r/gperdrizet/deeplearning-mac)\n\nA ready-to-use deep learning environment for VS Code, designed for AI/ML bootcamp students. Includes both **PyTorch** and **TensorFlow** with three configurations for wide hardware compatibility.\n\n## Requirements\n\n**All users**\n- [Docker Desktop](https://docs.docker.com/desktop/) (Windows / Mac) or [Docker Engine](https://docs.docker.com/engine/install/) (Linux)\n- [VS Code](https://code.visualstudio.com/) with the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)\n\n**NVIDIA GPU users** (also required)\n- NVIDIA driver ≥570 ([download](https://www.nvidia.com/Download/index.aspx))\n- [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) *(Linux only - not needed on Windows)*\n\n\u003e **Mac users:** GPU acceleration (Metal/MPS) does not pass through to Docker containers. The Mac configuration uses native ARM64 CPU, no extra setup needed beyond Docker Desktop.\n\n## Quick start\n\n1. **Fork** this repository (click **Fork** at the top of this page)\n\n2. **Clone** your fork:\n   ```bash\n   git clone https://github.com/\u003cyour-username\u003e/deeplearning-devcontainer.git\n   ```\n\n3. **Open the folder in VS Code**, then open the Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`) and run **Dev Containers: Open Folder in Container**\n\n   \u003e VS Code will ask which configuration to use, pick the one that matches your machine (see table below).\n\n4. **Verify** your setup by running `notebooks/environment_test.ipynb`\n\n## Which configuration should I use?\n\n| If you have... | Choose this |\n|----------------|-------------|\n| NVIDIA GPU (GTX 10xx / RTX / Quadro / Tesla) | **DeepLearning NVIDIA** |\n| Windows or Linux machine, no NVIDIA GPU | **DeepLearning CPU** |\n| Apple Silicon Mac (M1 / M2 / M3 / M4) | **DeepLearning Mac** |\n\nNot sure if your GPU is compatible? Check: [NVIDIA CUDA GPUs](https://developer.nvidia.com/cuda-gpus) (need compute capability ≥6.0).\n\n## Using as a template for new projects\n\nFork this repo once, then use it as a GitHub template to spin up new projects instantly.\n\n### One-time setup\n\n1. Go to your fork on GitHub\n2. Click **Settings** → scroll to **Template repository** → enable it\n\n### Creating a new project\n\n1. Go to your fork and click **Use this template** → **Create a new repository**\n2. Name your new repo and click **Create repository**\n3. Clone it and start working:\n   ```bash\n   git clone https://github.com/\u003cyour-username\u003e/my-new-project.git\n   ```\n\n4. **Clean it up** - remove anything that doesn't belong to your project:\n   - Update `README.md` to describe your project\n   - Delete unused devcontainer configs (e.g. if you only use NVIDIA, remove `cpu/` and `mac/`)\n   - Remove or replace `notebooks/environment_test.ipynb` with your own notebooks\n   - Clear `logs/`, `models/`, and `data/`\n   ```bash\n   git add -A \u0026\u0026 git commit -m \"Initial project setup\" \u0026\u0026 git push\n   ```\n\n## Adding Python packages\n\n### Temporary (lost on container rebuild)\n\n```bash\npip install \u003cpackage-name\u003e\n```\n\n### Permanent (recommended)\n\n1. Create a `requirements.txt` in the repository root:\n   ```\n   scikit-image\n   plotly\n   ```\n\n2. Add a `postCreateCommand` to the relevant `.devcontainer/*/devcontainer.json`:\n   ```json\n   \"postCreateCommand\": \"pip install -r requirements.txt\"\n   ```\n\n3. Rebuild the container (`Ctrl+Shift+P` → **Dev Containers: Rebuild Container**)\n\n## TensorBoard\n\nTo launch TensorBoard:\n\n1. Open the Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`)\n2. Run **Python: Launch TensorBoard**\n3. Select the `logs/` directory when prompted\n\nTensorBoard will open in a new tab inside VS Code. Save your training logs to the `logs/` directory.\n\n## Optuna dashboard\n\nRight-click your Optuna database file and select **Open in Optuna Dashboard**. The dashboard is also accessible via its built-in web server on port 8080.\n\n## Keeping your fork updated\n\n```bash\n# Add upstream once\ngit remote add upstream https://github.com/gperdrizet/deeplearning-devcontainer.git\n\n# Pull in updates\ngit fetch upstream \u0026\u0026 git merge upstream/main\n```\n\n## What's included\n\n### NVIDIA environment\n\n| Category | Details |\n|----------|---------|\n| **Base image** | `nvcr.io/nvidia/tensorflow:25.02-tf2-py3` |\n| **GPU** | CUDA 12.8, cuDNN 9.7, CuPy 13.6 |\n| **ML frameworks** | PyTorch 2.11, TensorFlow 2.17, Keras 3.3 |\n| **Python** | 3.12, NumPy 1.26, Pandas 2.2, Scikit-learn 1.5 |\n| **Tools** | JupyterLab, TensorBoard, Optuna, Plotly, python-dotenv |\n\n### CPU environment\n\n| Category | Details |\n|----------|---------|\n| **Base image** | `python:3.12-slim` |\n| **ML frameworks** | PyTorch 2.11 (CPU), TensorFlow 2.17 |\n| **Python** | 3.12, NumPy 1.26, Pandas 2.2, Scikit-learn 1.5 |\n| **Tools** | JupyterLab, TensorBoard, Optuna, Plotly, python-dotenv |\n\n### Mac environment\n\n| Category | Details |\n|----------|---------|\n| **Base image** | `python:3.12-slim` (linux/arm64) |\n| **ML frameworks** | PyTorch 2.11 (ARM64, from PyPI), TensorFlow 2.17 |\n| **Python** | 3.12, NumPy 1.26, Pandas 2.2, Scikit-learn 1.5 |\n| **Tools** | JupyterLab, TensorBoard, Optuna, Plotly, python-dotenv |\n\n## GPU compatibility (NVIDIA)\n\nRequires compute capability ≥6.0 (Pascal / GTX 10xx or newer):\n\n| Architecture | Example GPUs | Compute Capability |\n|--------------|--------------|-------------------|\n| Pascal | GTX 1050-1080, Tesla P100 | 6.0-6.1 |\n| Volta | Tesla V100, Titan V | 7.0 |\n| Turing | RTX 2060-2080, GTX 1660 | 7.5 |\n| Ampere | RTX 3060-3090, A100 | 8.0-8.6 |\n| Ada Lovelace | RTX 4060-4090 | 8.9 |\n| Hopper | H100, H200 | 9.0 |\n| Blackwell | RTX 5070-5090, B100, B200 | 10.0 |\n\n## Project structure\n\n```\ndeeplearning-devcontainer/\n├── .devcontainer/\n│   ├── nvidia/\n│   │   └── devcontainer.json   # NVIDIA GPU configuration\n│   ├── cpu/\n│   │   └── devcontainer.json   # CPU configuration\n│   └── mac/\n│       └── devcontainer.json   # Mac (ARM64) configuration\n├── data/                       # Store datasets here\n├── logs/                       # TensorBoard logs\n├── models/                     # Saved model files\n├── notebooks/\n│   ├── environment_test.ipynb  # Verify your setup\n│   └── functions/              # Helper modules for notebooks\n├── .gitignore\n├── LICENSE\n└── README.md\n```\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| Docker won't start | Enable virtualization in BIOS / enable WSL2 on Windows |\n| Permission denied (Linux) | Add your user to the docker group, then log out and back in |\n| GPU not detected | Update NVIDIA drivers (≥570); Linux: install [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) |\n| Container build fails | Check your internet connection |\n| Module not found | Add the package to `requirements.txt` and rebuild the container |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgperdrizet%2Fdeeplearning-devcontainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgperdrizet%2Fdeeplearning-devcontainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgperdrizet%2Fdeeplearning-devcontainer/lists"}