mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-18 21:21:17 +00:00
* 2021.4.1 Docker and ci changes * OV version change * Removing Imagescaler op from the op's list Reverting this change which was added in last PR. Imagescaler is now deprecated. so removing it from the supported list. Also this op is causing regression in the performance of the FP16 models. Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com> * Re-writing the help message for num_of_threads Signed-off-by: MaajidKhan <n.maajidkhan@gmail.com> Co-authored-by: Aravind Gunda <aravindx.gunda@intel.com>
105 lines
No EOL
6.4 KiB
Text
Executable file
105 lines
No EOL
6.4 KiB
Text
Executable file
#-------------------------------------------------------------------------
|
|
# Copyright(C) 2021 Intel Corporation.
|
|
# SPDX-License-Identifier: MIT
|
|
#--------------------------------------------------------------------------
|
|
|
|
FROM centos:7.8.2003
|
|
|
|
WORKDIR /code
|
|
|
|
ARG MY_ROOT=/code
|
|
ARG YUM_OV_PACKAGE=intel-openvino-runtime-centos7-2021.4.689.x86_64
|
|
ARG DEVICE=CPU_FP32
|
|
ARG ONNXRUNTIME_REPO=https://github.com/microsoft/onnxruntime
|
|
ARG ONNXRUNTIME_BRANCH=master
|
|
|
|
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino_2021.4.689
|
|
ENV InferenceEngine_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/share
|
|
ENV IE_PLUGINS_PATH=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/lib/intel64
|
|
ENV ngraph_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/ngraph/cmake
|
|
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}
|
|
ENV OpenCV_DIR=${INTEL_OPENVINO_DIR}/opencv/share/OpenCV
|
|
ENV LD_LIBRARY_PATH=${INTEL_OPENVINO_DIR}/opencv/lib:${INTEL_OPENVINO_DIR}/opencv/share/OpenCV/3rdparty/lib:${LD_LIBRARY_PATH}
|
|
ENV HDDL_INSTALL_DIR=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/hddl
|
|
ENV LD_LIBRARY_PATH=${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/hddl/lib:$LD_LIBRARY_PATH
|
|
ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64:/lib64:$LD_LIBRARY_PATH
|
|
|
|
# Install packages
|
|
RUN yum update -y && \
|
|
yum groupinstall "Development Tools" -y && \
|
|
yum install -y yum-utils autoconf automake libtool unzip udev wget zlib-devel libffi-devel openssl-devel boost-devel-1.53.0 && \
|
|
yum clean packages && yum clean all && rm -rf /var/cache/yum && \
|
|
# Install cmake
|
|
cd $MY_ROOT && \
|
|
wget https://github.com/Kitware/CMake/releases/download/v3.18.6/cmake-3.18.6.tar.gz && \
|
|
tar -zxvf cmake-3.18.6.tar.gz && rm -rf cmake-3.18.6.tar.gz && \
|
|
cd cmake-3.18.6 && \
|
|
./bootstrap && \
|
|
make && \
|
|
make install && \
|
|
cd $MY_ROOT && \
|
|
# libusb1.0.22
|
|
cd /opt/ && wget https://github.com/libusb/libusb/archive/v1.0.22.zip && \
|
|
unzip v1.0.22.zip && rm -rf v1.0.22.zip && cd /opt/libusb-1.0.22 && \
|
|
# bootstrap steps
|
|
./bootstrap.sh && \
|
|
./configure --disable-udev --enable-shared && \
|
|
make -j4 && \
|
|
# configure libusb1.0.22
|
|
cd /opt/libusb-1.0.22/libusb && \
|
|
/bin/mkdir -p '/usr/local/lib' && \
|
|
/bin/bash ../libtool --mode=install /usr/bin/install -c libusb-1.0.la '/usr/local/lib' && \
|
|
/bin/mkdir -p '/usr/local/include/libusb-1.0' && \
|
|
/usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0' && \
|
|
/bin/mkdir -p '/usr/local/lib/pkgconfig' && \
|
|
# Install openvino
|
|
yum-config-manager --add-repo https://yum.repos.intel.com/openvino/2021/setup/intel-openvino-2021.repo && \
|
|
rpm --import https://yum.repos.intel.com/openvino/2021/setup/RPM-GPG-KEY-INTEL-OPENVINO-2021 && \
|
|
yum update -y && yum list intel-openvino* && \
|
|
yum install -y $YUM_OV_PACKAGE && \
|
|
cd ${INTEL_OPENVINO_DIR}/install_dependencies/ && ./install_openvino_dependencies.sh -y && \
|
|
printf "\nexport LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/usr/local/lib\n" >> /opt/intel/openvino_2021.4.689/bin/setupvars.sh && \
|
|
cd /opt/libusb-1.0.22 && \
|
|
/usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig' && \
|
|
cp /opt/intel/openvino_2021/deployment_tools/inference_engine/external/97-myriad-usbboot.rules /etc/udev/rules.d/ && \
|
|
ldconfig && \
|
|
# Install GPU runtime and drivers
|
|
cd ${MY_ROOT} && \
|
|
mkdir /tmp/opencl && \
|
|
cd /tmp/opencl && \
|
|
yum install -y epel-release && \
|
|
yum install -y ocl-icd ocl-icd-devel && \
|
|
wget -O intel-igc-core-1.0.2597-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-igc-core-1.0.2597-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-opencl-19.41.14441-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-opencl-19.41.14441-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-igc-opencl-devel-1.0.2597-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-igc-opencl-devel-1.0.2597-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-igc-opencl-1.0.2597-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-igc-opencl-1.0.2597-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-gmmlib-19.3.2-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-gmmlib-19.3.2-1.el7.x86_64.rpm/download && \
|
|
wget -O intel-gmmlib-devel-19.3.2-1.el7.x86_64.rpm https://sourceforge.net/projects/intel-compute-runtime/files/19.41.14441/centos-7/intel-gmmlib-devel-19.3.2-1.el7.x86_64.rpm/download && \
|
|
rpm -i /tmp/opencl/*.rpm && \
|
|
ldconfig && \
|
|
rm -rf /tmp/opencl && \
|
|
# Installing gcc-10
|
|
yum install -y centos-release-scl && \
|
|
yum install -y devtoolset-10-gcc* && \
|
|
echo 'source scl_source enable devtoolset-10' >> ~/.bashrc && \
|
|
# python installation
|
|
source scl_source enable devtoolset-10 && \
|
|
cd /code/ && \
|
|
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz && tar xvf Python-3.8.3.tgz && \
|
|
cd Python-3.8*/ && ./configure && make && make install && \
|
|
cd ../ && mkdir -p /usr/bin/Python38 && ln -s Python-3.8.3/ /usr/bin/Python38 && \
|
|
# installing dependancies
|
|
yum install -y python3-lxml python3-six libusb.x86_64 && \
|
|
yum clean packages && yum clean all && rm -rf /var/cache/yum && \
|
|
# Build onnxruntime
|
|
cd $MY_ROOT && \
|
|
pip3 install numpy wheel setuptools cython && \
|
|
git clone --recursive -b ${ONNXRUNTIME_BRANCH} ${ONNXRUNTIME_REPO} && \
|
|
pip3 install onnx && \
|
|
cd /code/onnxruntime && ./build.sh --config Release --update --build --parallel --use_openvino ${DEVICE} --build_shared_lib --build_wheel && \
|
|
pip3 install /code/onnxruntime/build/Linux/Release/dist/*-linux_x86_64.whl && \
|
|
# Clean up
|
|
cd $MY_ROOT && rm -rf onnxruntime Python-3* && \
|
|
cd ${MY_ROOT}/ && rm -rf cmake* && \
|
|
cd /usr/share/ && rm -rf gcc* && cd /usr/lib/ && rm -rf gcc cd && rm -rf .cache && \
|
|
cd ${INTEL_OPENVINO_DIR}/ && rm -rf documentation data_processing && cd deployment_tools/ && rm -rf tools |