mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
### Description This PR enables execution of subgraphs in OVEP and currently, when OVEP developers install the onnxruntime-openvino package on windows from pypi, they would have to additionally download OpenVINO windows binaries and run the setupvars.bat script which sets the environment PATH to locate the OV dll's. Also this PR fixes issues of OVEP windows io buffer sample. ### Motivation and Context Fix: We want to make the user experience easy for OVEP Python developers on windows platform. This fix, introduces a function add_openvino_libs_to_path at the location tools/python/util/add_openvino_win_libs.py. The above function, can be called by OVEP python users in the application code and that takes care of setting the OpenVINO dll's to the path from the OpenVINO pypi packge (openvino) which was installed. This change also makes sure that add_openvino_libs_to_path() function is added to onnxruntime python package only when it is build for OpenVINO Execution Provider for ONNXRuntime and not for default ORT python package builds. New user experience for Python OVEP developers on windows platform: step 1: pip install onnxruntime-openvino step 2: pip install openvino step 3: <Add these 2 lines in the application code> import onnxruntime.tools.add_openvino_win_libs as utils utils.add_openvino_libs_to_path() --------- Signed-off-by: MaajidKhan <n.maajid.khan@intel.com> Co-authored-by: MaajidKhan <n.maajid.khan@intel.com> Co-authored-by: Suryaprakash Shanmugam <suryaprakash.shanmugam@intel.com>
61 lines
2.3 KiB
Text
61 lines
2.3 KiB
Text
#-------------------------------------------------------------------------
|
|
# Copyright(C) 2021-2023 Intel Corporation.
|
|
# SPDX-License-Identifier: MIT
|
|
#--------------------------------------------------------------------------
|
|
|
|
ARG OPENVINO_VERSION=2023.0.0
|
|
|
|
|
|
# Build stage
|
|
FROM openvino/ubuntu20_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=main
|
|
|
|
ENV InferenceEngine_DIR=${INTEL_OPENVINO_DIR}/runtime/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 pip3 install onnx
|
|
RUN cd onnxruntime && ./build.sh --allow_running_as_root --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 lsb-release powermgmt-base python-apt-common python3-apt python3-dbus python3-gi unattended-upgrades libapt-pkg6.0 libhogweed5 libnettle7
|
|
WORKDIR /
|
|
RUN tar cvf GPL_sources.tar.gz /sources
|
|
|
|
# Deploy stage
|
|
FROM openvino/ubuntu20_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
|
|
RUN usermod -a -G video,users ${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}/runtime/lib/intel64
|
|
ENV LD_LIBRARY_PATH=/opt/intel/opencl:${INTEL_OPENVINO_DIR}/runtime/3rdparty/tbb/lib:${IE_PLUGINS_PATH}:${LD_LIBRARY_PATH}
|