Valohai utilizes Docker images to define your runtime environment. This means that the platform is capable of running any code from C to Python as long as it can run inside a Docker container.
You can use any Docker image available online. After getting initial versions working, it makes sense to package your dependencies by building your own images.
We recommend hosting your images on Docker Hub but you can use any Docker registry. You can configure authenticated access under organization settings.
Here are the most common Docker images currently used on the platform:
ufoym/deepo:all-py36 # good for initial prototyping ufoym/deepo:all-py36-cpu # good for initial prototyping tensorflow/tensorflow:<VERSION>-gpu-py3 # e.g. 1.15.0, for GPU support tensorflow/tensorflow:<VERSION>-py3 # e.g. 1.15.0, for CPU only pytorch/pytorch:<VERSION> # e.g. 1.3-cuda10.1-cudnn7-runtime continuumio/miniconda:<VERSION> # e.g. 4.7.10 python:<VERSION> # e.g. 3.8.0 r-base:<VERSION> # e.g. 3.6.1 julia:<VERSION> # e.g. 1.3.0 bash:<VERSION> # e.g. 5.0.11, for light scripting busybox:<VERSION> # e.g. 1.13.1, for light scripting
Which images to use depend on your specific use-case, but it usually makes sense to:
- start with as minimal image as possible
- use a specific image tag (the
:<VERSION>part) so everything stays reproducible
Access Private Docker Repositories¶
Organizations can use private repositories from Docker Hub or Azure Container Registry for Valohai executions.
- Login at https://app.valohai.com
- Navigate to
Hi, <name> (the top right menu) > Manage <organization>.
- Go to Registries under the organization controls
- Add a new entry
- Insert the name in the format of docker.io/myusername/* or myregistry.azurecr.io/*.
- Use the previously generated credentials as the username and password (Docker username and access token or Azure Service Principal credentials)
To use a private Docker image in your executions specify the image in the step of your
valohai.yaml using the full name like