onnxruntime/dockerfiles/Dockerfile.openvino
Maajid khan 9e07ad93ae
[OpenVINO-EP 2021.4] Add/update Dockerfiles w.r.t OpenVINO 2021.4 Version (#8491)
* Implement multi-stage Dockerfile

- Reduces image size from 2.3 GB to 1.46 GB.
- Uses Ubuntu based OpenVINO image as base image leading to fewer
required instructions
- Does not include unnecessary build time components in deploy image

* Remove wget after usage

* Uninstall wget in the same RUN statement

Avoids re-distributing wget package in any of the layers

* Update License header according to Intel guidelines

Updated the license header according to Intel corporate guidelines.

* Use Ubuntu18's default Python3

Don't install Miniconda and use the default Python3 provided by
the base Ubuntu 18 OS.

* OpenVINO EP with CentOS7

Dockefile to build ONNX RT with OpenVINO EP with a CentOS 7 base.

* Dockerfile documentation changes

Updated documentation to show the latest docker image location and
usage details.

* updated ov-ep doc link

* Temporarily disabling VAD-M due to regression

* fix for vad-m daemon config setting

* Revert "Temporarily disabling VAD-M due to regression"

This reverts commit c503bea38397f332b220321823e0ca1c55f4aab3.
VAD-M issue fixed. this is no longer needed

* Revert "Revert "Temporarily disabling VAD-M due to regression""

This reverts commit 7ca53feb2ba585c050be81770698f9abae8dbe28.

* Revert "fix for vad-m daemon config setting"

This reverts commit 9964f8452194655c0b988bd8472da45996deca38.

* Ubuntu Dockerfile update w.r.t 2021.4

This dockerfile uses openvino 2021.4 runtime
base image from OpenVINO.

uses onnxruntime 1.8 release branch to generate the
image.

Added fix for VADM HDDL

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Added new dependency in deploy stage

Added sources for all the dependency
packages of unattended-upgrades package
which had GPL license into deploy stage.

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Updated CentOS Dockerfile to the latest 2021.4

-Dockerfile updated
-VADM Fix added

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Updated c# openvino dockerfile w.r.t 2021.4

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Updated the ubuntu dockefile branch and repo

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Updated Dockerfile Documentation w.r.t 2021.4

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

* Updated GCC version to 10 for centos dockerfile

Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com>

Co-authored-by: S. Manohar Karlapalem <manohar.karlapalem@intel.com>
2021-08-02 15:13:46 -07:00

64 lines
No EOL
2.9 KiB
Text

#-------------------------------------------------------------------------
# Copyright(C) 2021 Intel Corporation.
# SPDX-License-Identifier: MIT
#--------------------------------------------------------------------------
ARG OPENVINO_VERSION=2021.4
# Build stage
FROM openvino/ubuntu18_runtime:${OPENVINO_VERSION} AS builder
ENV WORKDIR_PATH=/home/openvino
WORKDIR $WORKDIR_PATH
ENV DEBIAN_FRONTEND noninteractive
ARG DEVICE=CPU_FP32
ARG ONNXRUNTIME_REPO=https://github.com/microsoft/onnxruntime.git
ARG ONNXRUNTIME_BRANCH=master
ENV PATH /opt/miniconda/bin:/code/cmake-3.21.0-linux-x86_64/bin:$PATH
ENV LD_LIBRARY_PATH=/opt/miniconda/lib:/usr/lib:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
ENV InferenceEngine_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/share
ENV ngraph_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/ngraph/cmake
USER root
RUN apt update; apt install -y git protobuf-compiler libprotobuf-dev
RUN git clone --recursive -b ${ONNXRUNTIME_BRANCH} ${ONNXRUNTIME_REPO}
RUN /bin/sh onnxruntime/dockerfiles/scripts/install_common_deps.sh
RUN ln -s cmake-* cmake-dir
RUN python3 -m pip install wheel
ENV PATH=${WORKDIR_PATH}/cmake-dir/bin:$PATH
RUN cd onnxruntime/cmake/external/onnx && python3 setup.py install
RUN cd onnxruntime && ./build.sh --config Release --update --build --parallel --use_openvino ${DEVICE} --build_shared_lib --build_wheel
#Steps to download sources
RUN cat /etc/apt/sources.list | sed 's/^# deb-src/deb-src/g' > ./temp; mv temp /etc/apt/sources.list
RUN apt update; apt install dpkg-dev
RUN mkdir /sources
WORKDIR /sources
RUN apt-get source cron iso-codes libapt-inst2.0 lsb-release powermgmt-base python-apt-common python3-apt python3-dbus python3-gi unattended-upgrades libapt-pkg5.0 libhogweed4 libnettle6
WORKDIR /
RUN tar cvf GPL_sources.tar.gz /sources
# Deploy stage
FROM openvino/ubuntu18_runtime:${OPENVINO_VERSION}
ENV DEBIAN_FRONTEND noninteractive
USER root
COPY --from=builder /home/openvino/onnxruntime/build/Linux/Release/dist/*.whl ./
COPY --from=builder /GPL_sources.tar.gz ./
RUN python3 -m pip install ./*.whl && rm ./*.whl
RUN apt update; apt install -y unattended-upgrades && \
unattended-upgrade
ARG BUILD_UID=1001
ARG BUILD_USER=onnxruntimedev
RUN adduser --uid $BUILD_UID $BUILD_USER
ENV WORKDIR_PATH /home/${BUILD_USER}
WORKDIR ${WORKDIR_PATH}
USER ${BUILD_USER}
ENV PATH=${WORKDIR_PATH}/miniconda/bin:${WORKDIR_PATH}/cmake-dir/bin:$PATH
ENV IE_PLUGINS_PATH=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/lib/intel64
ENV LD_LIBRARY_PATH=/opt/intel/opencl:${INTEL_OPENVINO_DIR}/inference_engine/external/gna/lib:${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/mkltiny_lnx/lib:$INTEL_OPENVINO_DIR/deployment_tools/ngraph/lib:${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/omp/lib:${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/tbb/lib:${IE_PLUGINS_PATH}:${LD_LIBRARY_PATH}