onnxruntime
59 строк · 2.2 Кб
1#-------------------------------------------------------------------------
2# Copyright(C) 2021-2024 Intel Corporation.
3# SPDX-License-Identifier: MIT
4#--------------------------------------------------------------------------
5
6ARG OPENVINO_VERSION=2024.2.0
7
8
9# Build stage
10FROM openvino/ubuntu22_runtime:${OPENVINO_VERSION} AS builder
11
12ENV WORKDIR_PATH=/home/openvino
13WORKDIR $WORKDIR_PATH
14ENV DEBIAN_FRONTEND noninteractive
15
16ARG DEVICE=CPU
17ARG ONNXRUNTIME_REPO=https://github.com/microsoft/onnxruntime.git
18ARG ONNXRUNTIME_BRANCH=main
19
20ENV OpenVINO_DIR=${INTEL_OPENVINO_DIR}/runtime/cmake
21
22USER root
23RUN apt update; apt install -y git protobuf-compiler libprotobuf-dev
24RUN git clone --recursive -b ${ONNXRUNTIME_BRANCH} ${ONNXRUNTIME_REPO}
25RUN /bin/sh onnxruntime/dockerfiles/scripts/install_common_deps.sh
26RUN ln -s cmake-* cmake-dir
27RUN python3 -m pip install wheel
28ENV PATH=${WORKDIR_PATH}/cmake-dir/bin:$PATH
29RUN pip3 install onnx
30RUN cd onnxruntime && ./build.sh --allow_running_as_root --config Release --update --build --parallel --use_openvino ${DEVICE} --build_shared_lib --build_wheel
31
32#Steps to download sources
33RUN cat /etc/apt/sources.list | sed 's/^# deb-src/deb-src/g' > ./temp; mv temp /etc/apt/sources.list
34RUN apt update; apt install dpkg-dev
35RUN mkdir /sources
36WORKDIR /sources
37RUN apt-get source cron iso-codes lsb-release powermgmt-base python-apt-common python3-apt python3-dbus python3-gi libapt-pkg6.0 libhogweed6 libnettle8
38WORKDIR /
39RUN tar cvf GPL_sources.tar.gz /sources
40
41# Deploy stage
42FROM openvino/ubuntu22_runtime:${OPENVINO_VERSION}
43
44ENV DEBIAN_FRONTEND noninteractive
45USER root
46COPY --from=builder /home/openvino/onnxruntime/build/Linux/Release/dist/*.whl ./
47COPY --from=builder /GPL_sources.tar.gz ./
48RUN python3 -m pip install ./*.whl && rm ./*.whl
49ARG BUILD_UID=1001
50ARG BUILD_USER=onnxruntimedev
51RUN adduser --uid $BUILD_UID $BUILD_USER
52RUN usermod -a -G video,users ${BUILD_USER}
53ENV WORKDIR_PATH /home/${BUILD_USER}
54WORKDIR ${WORKDIR_PATH}
55
56USER ${BUILD_USER}
57ENV PATH=${WORKDIR_PATH}/miniconda/bin:${WORKDIR_PATH}/cmake-dir/bin:$PATH
58ENV IE_PLUGINS_PATH=${INTEL_OPENVINO_DIR}/runtime/lib/intel64
59ENV LD_LIBRARY_PATH=/opt/intel/opencl:${INTEL_OPENVINO_DIR}/runtime/3rdparty/tbb/lib:${IE_PLUGINS_PATH}:${LD_LIBRARY_PATH}
60