# ufoym/deepo

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ufoym-deepo).**

6,274 stars · 740 forks · Python · MIT

## Links

- GitHub: https://github.com/ufoym/deepo
- Homepage: http://ufoym.com/deepo
- awesome-repositories: https://awesome-repositories.com/repository/ufoym-deepo.md

## Topics

`caffe` `caffe2` `chainer` `cntk` `deep-learning` `docker-image` `dockerfile-generator` `jupyter` `keras` `lasagne` `mxnet` `onnx` `pytorch` `sonnet` `tensorflow` `theano` `torch`

## Description

Deepo is a command-line tool that automates the creation of Docker-based deep learning environments. It resolves framework dependencies and assembles custom Docker images by layering user-selected deep learning frameworks and tools, producing reproducible, GPU-accelerated containers for model training and experimentation.

The tool distinguishes itself by offering both pre-built images from a public registry and the ability to generate custom Dockerfiles from a command-line description of desired frameworks. It handles the complexity of dependency resolution and installation order, and configures container runtime arguments for NVIDIA GPU access, shared memory tuning, and host data volume mounting.

Deepo supports building environments that include multiple frameworks simultaneously, and provides mechanisms for isolating experiment data through volume mounts and adjusting shared memory limits to prevent multiprocessing issues. The project maintains a collection of ready-to-use Docker images that bundle specific sets of deep learning frameworks with GPU or CPU support.

## Tags

### Artificial Intelligence & ML

- [Dockerfile Generators](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-environment-configurations/dockerfile-generators.md) — Command-line tool that generates custom Dockerfiles by resolving dependencies and installation order for selected frameworks.
- [Deep Learning Environment Configurations](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-environment-configurations.md) — Instantly provisioning a reproducible deep learning workspace with GPU support and popular frameworks pre-installed.
- [Docker Images](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-environment-configurations/docker-images.md) — Ships pre-configured Docker images bundling deep learning frameworks with GPU or CPU support for instant environment setup.
- [Custom Image Assemblers](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-environment-configurations/docker-images/custom-image-assemblers.md) — Assembles a Docker image by layering user-selected deep learning frameworks and tools in a modular fashion. ([source](https://github.com/ufoym/deepo/tree/master/generator))

### Development Tools & Productivity

- [Multi-Framework Deep Learning Setups](https://awesome-repositories.com/f/development-tools-productivity/development-environment-setup/multi-framework-deep-learning-setups.md) — Configuring a single environment that supports multiple deep learning frameworks like TensorFlow, PyTorch, and Keras simultaneously.

### DevOps & Infrastructure

- [Custom Deep Learning Image Builds](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-image-building/custom-deep-learning-image-builds.md) — Generates a Dockerfile from a command-line description of desired frameworks, automatically resolving dependencies and installation order. ([source](https://github.com/ufoym/deepo))
- [GPU-Accelerated Containers](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/gpu-accelerated-containers.md) — Configures container runtime arguments to expose NVIDIA GPUs and installs CUDA dependencies when GPU acceleration is requested.
- [Deep Learning Containers](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/gpu-accelerated-containers/deep-learning-containers.md) — Provides Docker containers with NVIDIA GPU access for running accelerated deep learning workloads without manual driver configuration.
- [Modular Dockerfile Assemblers](https://awesome-repositories.com/f/devops-infrastructure/dockerfile-image-builds/modular-dockerfile-assemblers.md) — Builds images by composing independent framework installation scripts into a single Dockerfile based on user selections.
- [Pre-built Image Publishing](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries/pre-built-image-publishing.md) — Hosts a collection of ready-to-use Docker images on a public registry, each bundling a specific set of deep learning frameworks.
- [Deep Learning Experiment Environments](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/deep-learning-experiment-environments.md) — Creating isolated, shareable container environments that ensure consistent deep learning experiment results across machines.
- [Host-Guest Mounts](https://awesome-repositories.com/f/devops-infrastructure/volume-mounts/host-guest-mounts.md) — Shares directories between the host and container using volume mounts to keep experiment data isolated and persistent. ([source](https://github.com/ufoym/deepo))

### Software Engineering & Architecture

- [CLI-Driven Dependency Solvers](https://awesome-repositories.com/f/software-engineering-architecture/automatic-dependency-resolution/cli-driven-dependency-solvers.md) — Parses a CLI description of desired frameworks and automatically determines the correct installation order and version compatibility.
- [Layered Image Composition](https://awesome-repositories.com/f/software-engineering-architecture/modular-package-systems/layered-image-composition.md) — Stacks pre-built Docker layers for each framework to create a final image without rebuilding common dependencies.
