Docker containers for CPU and GPU quickstart (#332)

* Docker Container for CPU Version (Ubuntu 16.04, Python3 Bindings, compatible with Windows-Docker)
* Nvidia-Docker Container for GPU Version (Ubuntu 16.04, CUDA, CUDNN, Python3 Bindings)
* README with Docker quickstart instructions (i.e. docker pull .../onnxruntime:cpu, docker run -it ...)
* Include plans to publish public images (with ONNX Runtime 0.2) on README
This commit is contained in:
Vinitra Swamy 2019-01-30 10:58:30 -08:00 committed by GitHub
parent 583631adf5
commit ea94cbf14b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 115 additions and 0 deletions

View file

@ -0,0 +1,23 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
#--------------------------------------------------------------------------
# Official user quickstart docker container for ONNX Runtime
# Ubuntu 16.04, CPU version, Python 3.
#--------------------------------------------------------------------------
FROM ubuntu:16.04
MAINTAINER Vinitra Swamy "viswamy@microsoft.com"
RUN apt-get update && \
apt-get install -y sudo \
build-essential curl \
libcurl4-openssl-dev \
libssl-dev wget \
python 3.6 python3-pip \
python3-dev git
RUN pip3 install --upgrade pip
RUN pip3 install numpy onnx
RUN pip3 install onnxruntime
WORKDIR /code

View file

@ -0,0 +1,23 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
#--------------------------------------------------------------------------
# Official user quickstart nvidia-docker container for ONNX Runtime GPU
# Ubuntu 16.04, GPU version, CuDNN 7, CUDA 10, Python 3.
#--------------------------------------------------------------------------
FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04
MAINTAINER Vinitra Swamy "viswamy@microsoft.com"
RUN apt-get update && \
apt-get install -y sudo \
build-essential curl \
libcurl4-openssl-dev \
libssl-dev wget \
python 3.6 python3-pip \
python3-dev git
RUN pip3 install --upgrade pip
RUN pip3 install numpy onnx
RUN pip3 install onnxruntime-gpu
WORKDIR /code

69
dockerfiles/README.md Normal file
View file

@ -0,0 +1,69 @@
# Quick-start Docker containers for ONNX Runtime
## CPU Version (Preview)
#### Linux 16.04, Python Bindings, Compatible with Docker for Windows
1. Retrieve your docker image in one of the following ways.
- Build the docker image from the DockerFile in this repository.
```
# If you have a Linux machine, preface this command with "sudo"
docker build -t onnxruntime-cpu -f Dockerfile.cpu .
```
- Pull the official image from DockerHub.
```
# Will be available with ONNX Runtime 0.2.0
```
2. Run the docker image
```
# If you have a Linux machine, preface this command with "sudo"
# If you have a Windows machine, preface this command with "winpty"
docker run -it onnxruntime-cpu
```
## GPU Version (Preview)
#### Linux 16.04, Python Bindings, CUDA 10, CuDNN7, Requires Nvidia-Docker version 2.0
0. Prerequisites: [Install Nvidia-Docker 2.0](https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
1. Retrieve your docker image in one of the following ways.
- Build the docker image from the DockerFile in this repository.
```
# If you have a Linux machine, preface this command with "sudo"
docker build -t onnxruntime-gpu -f Dockerfile.gpu .
```
Note that you can change the base CUDA distribution to 9.1 and use nvidia-docker v1
by replacing the first line of the dockerfile with the base image below.
```
FROM nvidia/cuda:9.1-cudnn7-devel-ubuntu16.04
```
- Pull the official image from DockerHub.
```
# Will be available with ONNX Runtime 0.2.0
```
2. Run the docker image
```
# If you have a Linux machine, preface this command with "sudo"
# If you have a Windows machine, preface this command with "winpty"
docker run -it --runtime=nvidia --rm nvidia/cuda onnxruntime-gpu
```
### Other options to get started with ONNX Runtime
- Deploy [inference for pretrained ONNX models](https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/deployment/onnx) for handwritten digit recognition (MNIST)
or facial expression recognition (FER+) using Azure Machine Learning
- Work with ONNX runtime in your local environment using the PyPi release ([CPU](https://pypi.org/project/onnxruntime/), [GPU](https://pypi.org/project/onnxruntime-gpu/))
- ``pip install onnxruntime``
- ``pip install onnxruntime-gpu``
- Build ONNX Runtime from the source code by following [these instructions for developers](../BUILD.md).
### License
[MIT License](../LICENSE)