Skip to content

Commit 720d250

Browse files
authored
Release 2025.0.0 (#318)
1 parent e9b0f6f commit 720d250

10 files changed

+2298
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,367 @@
1+
# Copyright (C) 2019-2024 Intel Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
FROM ubuntu:20.04 AS base
4+
5+
# hadolint ignore=DL3002
6+
USER root
7+
WORKDIR /
8+
9+
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
10+
11+
ENV DEBIAN_FRONTEND=noninteractive
12+
13+
# hadolint ignore=DL3008
14+
RUN apt-get update && \
15+
apt-get install -y --no-install-recommends curl tzdata ca-certificates && \
16+
rm -rf /var/lib/apt/lists/*
17+
18+
19+
# get product from URL
20+
ARG package_url
21+
ARG TEMP_DIR=/tmp/openvino_installer
22+
23+
WORKDIR ${TEMP_DIR}
24+
# hadolint ignore=DL3020
25+
ADD ${package_url} ${TEMP_DIR}
26+
27+
# install product by copying archive content
28+
ARG TEMP_DIR=/tmp/openvino_installer
29+
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino
30+
31+
# Creating user openvino and adding it to groups"users"
32+
RUN useradd -ms /bin/bash -G users openvino
33+
34+
RUN find "${TEMP_DIR}" \( -name "*.tgz" -o -name "*.tar.gz" \) -exec tar -xzf {} \; && \
35+
OV_BUILD="$(find . -maxdepth 1 -type d -name "*openvino*" | grep -oP '(?<=_)\d+.\d+.\d.\d+')" && \
36+
OV_YEAR="$(echo "$OV_BUILD" | grep -oP '^[^\d]*(\d+)')" && \
37+
OV_FOLDER="$(find . -maxdepth 1 -type d -name "*openvino*")" && \
38+
mkdir -p /opt/intel/openvino_"$OV_BUILD"/ && \
39+
cp -rf "$OV_FOLDER"/* /opt/intel/openvino_"$OV_BUILD"/ && \
40+
rm -rf "${TEMP_DIR:?}"/"$OV_FOLDER" && \
41+
ln --symbolic /opt/intel/openvino_"$OV_BUILD"/ /opt/intel/openvino && \
42+
ln --symbolic /opt/intel/openvino_"$OV_BUILD"/ /opt/intel/openvino_"$OV_YEAR" && \
43+
rm -rf "${TEMP_DIR}" && \
44+
chown -R openvino /opt/intel/openvino_"$OV_BUILD"
45+
46+
47+
ENV HDDL_INSTALL_DIR=/opt/intel/openvino/runtime/3rdparty/hddl
48+
ENV InferenceEngine_DIR=/opt/intel/openvino/runtime/cmake
49+
ENV LD_LIBRARY_PATH=/opt/intel/openvino/runtime/3rdparty/hddl/lib:/opt/intel/openvino/runtime/3rdparty/tbb/lib:/opt/intel/openvino/runtime/lib/intel64:/opt/intel/openvino/tools/compile_tool:/opt/intel/openvino/extras/opencv/lib
50+
ENV OpenCV_DIR=/opt/intel/openvino/extras/opencv/cmake
51+
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
52+
ENV PYTHONPATH=/opt/intel/openvino/python:/opt/intel/openvino/python/python3:/opt/intel/openvino/extras/opencv/python
53+
ENV TBB_DIR=/opt/intel/openvino/runtime/3rdparty/tbb/cmake
54+
ENV ngraph_DIR=/opt/intel/openvino/runtime/cmake
55+
ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake
56+
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino
57+
ENV OV_TOKENIZER_PREBUILD_EXTENSION_PATH=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so
58+
ENV PKG_CONFIG_PATH=/opt/intel/openvino/runtime/lib/intel64/pkgconfig
59+
60+
RUN rm -rf ${INTEL_OPENVINO_DIR}/.distribution && mkdir ${INTEL_OPENVINO_DIR}/.distribution && \
61+
touch ${INTEL_OPENVINO_DIR}/.distribution/docker
62+
# -----------------
63+
64+
65+
66+
FROM base AS opencv
67+
68+
LABEL description="This is the dev image for OpenCV building with OpenVINO Runtime backend"
69+
LABEL vendor="Intel Corporation"
70+
71+
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
72+
73+
# hadolint ignore=DL3008
74+
RUN apt-get update; \
75+
apt-get install -y --no-install-recommends \
76+
git \
77+
python3.9-dev \
78+
python3-pip \
79+
build-essential \
80+
cmake \
81+
ninja-build \
82+
libgtk-3-dev \
83+
libpng-dev \
84+
libjpeg-dev \
85+
libwebp-dev \
86+
libtiff5-dev \
87+
libopenexr-dev \
88+
libopenblas-dev \
89+
libx11-dev \
90+
libavutil-dev \
91+
libavcodec-dev \
92+
libavformat-dev \
93+
libswscale-dev \
94+
libavresample-dev \
95+
libtbb2 \
96+
libssl-dev \
97+
libva-dev \
98+
libmfx-dev \
99+
libgstreamer1.0-dev \
100+
libgstreamer-plugins-base1.0-dev && \
101+
rm -rf /var/lib/apt/lists/*
102+
103+
RUN python3 -m pip install --no-cache-dir numpy==1.23.1
104+
ARG OPENCV_BRANCH="377be68d923e40900ac5526242bcf221e3f355e5" # 4.8 with a fix for building tests
105+
WORKDIR /opt/repo
106+
RUN git clone https://github.com/opencv/opencv.git
107+
WORKDIR /opt/repo/opencv
108+
RUN git checkout ${OPENCV_BRANCH}
109+
WORKDIR /opt/repo/opencv/build
110+
111+
# hadolint ignore=SC1091
112+
RUN . "${INTEL_OPENVINO_DIR}"/setupvars.sh; \
113+
cmake -G Ninja \
114+
-D BUILD_INFO_SKIP_EXTRA_MODULES=ON \
115+
-D BUILD_EXAMPLES=OFF \
116+
-D BUILD_JASPER=OFF \
117+
-D BUILD_JAVA=OFF \
118+
-D BUILD_JPEG=ON \
119+
-D BUILD_APPS_LIST=version \
120+
-D BUILD_opencv_apps=ON \
121+
-D BUILD_opencv_java=OFF \
122+
-D BUILD_OPENEXR=OFF \
123+
-D BUILD_PNG=ON \
124+
-D BUILD_TBB=OFF \
125+
-D BUILD_WEBP=OFF \
126+
-D BUILD_ZLIB=ON \
127+
-D BUILD_TESTS=ON \
128+
-D WITH_1394=OFF \
129+
-D WITH_CUDA=OFF \
130+
-D WITH_EIGEN=OFF \
131+
-D WITH_GPHOTO2=OFF \
132+
-D WITH_GSTREAMER=ON \
133+
-D OPENCV_GAPI_GSTREAMER=OFF \
134+
-D WITH_GTK_2_X=OFF \
135+
-D WITH_IPP=ON \
136+
-D WITH_JASPER=OFF \
137+
-D WITH_LAPACK=OFF \
138+
-D WITH_MATLAB=OFF \
139+
-D WITH_MFX=ON \
140+
-D WITH_OPENCLAMDBLAS=OFF \
141+
-D WITH_OPENCLAMDFFT=OFF \
142+
-D WITH_OPENEXR=OFF \
143+
-D WITH_OPENJPEG=OFF \
144+
-D WITH_QUIRC=OFF \
145+
-D WITH_TBB=OFF \
146+
-D WITH_TIFF=OFF \
147+
-D WITH_VTK=OFF \
148+
-D WITH_WEBP=OFF \
149+
-D CMAKE_USE_RELATIVE_PATHS=ON \
150+
-D CMAKE_SKIP_INSTALL_RPATH=ON \
151+
-D ENABLE_BUILD_HARDENING=ON \
152+
-D ENABLE_CONFIG_VERIFICATION=ON \
153+
-D ENABLE_PRECOMPILED_HEADERS=OFF \
154+
-D ENABLE_CXX11=ON \
155+
-D INSTALL_PDB=ON \
156+
-D INSTALL_TESTS=OFF \
157+
-D INSTALL_C_EXAMPLES=OFF \
158+
-D INSTALL_PYTHON_EXAMPLES=OFF \
159+
-D CMAKE_INSTALL_PREFIX=install \
160+
-D OPENCV_SKIP_PKGCONFIG_GENERATION=ON \
161+
-D OPENCV_SKIP_PYTHON_LOADER=OFF \
162+
-D OPENCV_SKIP_CMAKE_ROOT_CONFIG=ON \
163+
-D OPENCV_GENERATE_SETUPVARS=OFF \
164+
-D OPENCV_BIN_INSTALL_PATH=bin \
165+
-D OPENCV_INCLUDE_INSTALL_PATH=include \
166+
-D OPENCV_LIB_INSTALL_PATH=lib \
167+
-D OPENCV_CONFIG_INSTALL_PATH=cmake \
168+
-D OPENCV_3P_LIB_INSTALL_PATH=3rdparty \
169+
-D OPENCV_DOC_INSTALL_PATH=doc \
170+
-D OPENCV_OTHER_INSTALL_PATH=etc \
171+
-D OPENCV_LICENSES_INSTALL_PATH=etc/licenses \
172+
-D OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT=ON \
173+
-D BUILD_opencv_world=OFF \
174+
-D BUILD_opencv_python2=OFF \
175+
-D BUILD_opencv_python3=ON \
176+
-D BUILD_opencv_dnn=OFF \
177+
-D BUILD_opencv_gapi=OFF \
178+
-D PYTHON3_PACKAGES_PATH=install/python/python3 \
179+
-D PYTHON3_LIMITED_API=ON \
180+
-D HIGHGUI_PLUGIN_LIST=all \
181+
-D OPENCV_PYTHON_INSTALL_PATH=python \
182+
-D CPU_BASELINE=SSE4_2 \
183+
-D OPENCV_IPP_GAUSSIAN_BLUR=ON \
184+
-D WITH_INF_ENGINE=ON \
185+
-D InferenceEngine_DIR="${INTEL_OPENVINO_DIR}"/runtime/cmake/ \
186+
-D ngraph_DIR="${INTEL_OPENVINO_DIR}"/runtime/cmake/ \
187+
-D INF_ENGINE_RELEASE=2022010000 \
188+
-D VIDEOIO_PLUGIN_LIST=ffmpeg,gstreamer,mfx \
189+
-D CMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined \
190+
-D CMAKE_BUILD_TYPE=Release /opt/repo/opencv && \
191+
ninja -j "$(nproc)" && cmake --install . && \
192+
rm -Rf install/bin install/etc/samples
193+
194+
WORKDIR /opt/repo/opencv/build/install
195+
CMD ["/bin/bash"]
196+
# -------------------------------------------------------------------------------------------------
197+
198+
199+
FROM ubuntu:20.04 AS ov_base
200+
201+
LABEL description="This is the dev image for Intel(R) Distribution of OpenVINO(TM) toolkit on Ubuntu 20.04 LTS"
202+
LABEL vendor="Intel Corporation"
203+
204+
USER root
205+
WORKDIR /
206+
207+
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
208+
209+
ENV DEBIAN_FRONTEND=noninteractive
210+
211+
# Creating user openvino and adding it to groups "video" and "users" to use GPU and VPU
212+
RUN sed -ri -e 's@^UMASK[[:space:]]+[[:digit:]]+@UMASK 000@g' /etc/login.defs && \
213+
grep -E "^UMASK" /etc/login.defs && useradd -ms /bin/bash -G video,users openvino && \
214+
chown openvino -R /home/openvino
215+
216+
RUN mkdir /opt/intel
217+
218+
ENV INTEL_OPENVINO_DIR /opt/intel/openvino
219+
220+
COPY --from=base /opt/intel/ /opt/intel/
221+
222+
WORKDIR /thirdparty
223+
224+
ARG INSTALL_SOURCES="no"
225+
226+
ARG DEPS="tzdata \
227+
curl"
228+
229+
ARG LGPL_DEPS="g++ \
230+
gcc \
231+
libc6-dev \
232+
python3.9-venv \
233+
python3-pip"
234+
ARG INSTALL_PACKAGES="-c=python -c=core -c=dev"
235+
236+
237+
# hadolint ignore=DL3008
238+
RUN apt-get update && apt-get upgrade -y && \
239+
dpkg --get-selections | grep -v deinstall | awk '{print $1}' > base_packages.txt && \
240+
apt-get install -y --no-install-recommends ${DEPS} && \
241+
rm -rf /var/lib/apt/lists/*
242+
243+
RUN apt-get update && apt-get reinstall -y ca-certificates && rm -rf /var/lib/apt/lists/* && update-ca-certificates
244+
245+
# hadolint ignore=DL3008, SC2012
246+
RUN apt-get update && \
247+
apt-get install -y --no-install-recommends ${LGPL_DEPS} && \
248+
${INTEL_OPENVINO_DIR}/install_dependencies/install_openvino_dependencies.sh -y ${INSTALL_PACKAGES} && \
249+
if [ "$INSTALL_SOURCES" = "yes" ]; then \
250+
sed -Ei 's/# deb-src /deb-src /' /etc/apt/sources.list && \
251+
apt-get update && \
252+
dpkg --get-selections | grep -v deinstall | awk '{print $1}' > all_packages.txt && \
253+
grep -v -f base_packages.txt all_packages.txt | while read line; do \
254+
package=$(echo $line); \
255+
name=(${package//:/ }); \
256+
grep -l GPL /usr/share/doc/${name[0]}/copyright; \
257+
exit_status=$?; \
258+
if [ $exit_status -eq 0 ]; then \
259+
apt-get source -q --download-only $package; \
260+
fi \
261+
done && \
262+
echo "Download source for $(ls | wc -l) third-party packages: $(du -sh)"; fi && \
263+
rm /usr/lib/python3.*/lib-dynload/readline.cpython-3*-gnu.so && rm -rf /var/lib/apt/lists/*
264+
265+
WORKDIR ${INTEL_OPENVINO_DIR}/licensing
266+
RUN if [ "$INSTALL_SOURCES" = "no" ]; then \
267+
echo "This image doesn't contain source for 3d party components under LGPL/GPL licenses. They are stored in https://storage.openvinotoolkit.org/repositories/openvino/ci_dependencies/container_gpl_sources/." > DockerImage_readme.txt ; \
268+
fi
269+
270+
271+
ENV HDDL_INSTALL_DIR=/opt/intel/openvino/runtime/3rdparty/hddl
272+
ENV InferenceEngine_DIR=/opt/intel/openvino/runtime/cmake
273+
ENV LD_LIBRARY_PATH=/opt/intel/openvino/runtime/3rdparty/hddl/lib:/opt/intel/openvino/runtime/3rdparty/tbb/lib:/opt/intel/openvino/runtime/lib/intel64:/opt/intel/openvino/tools/compile_tool:/opt/intel/openvino/extras/opencv/lib
274+
ENV OpenCV_DIR=/opt/intel/openvino/extras/opencv/cmake
275+
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
276+
ENV PYTHONPATH=/opt/intel/openvino/python:/opt/intel/openvino/python/python3:/opt/intel/openvino/extras/opencv/python
277+
ENV TBB_DIR=/opt/intel/openvino/runtime/3rdparty/tbb/cmake
278+
ENV ngraph_DIR=/opt/intel/openvino/runtime/cmake
279+
ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake
280+
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino
281+
ENV OV_TOKENIZER_PREBUILD_EXTENSION_PATH=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so
282+
ENV PKG_CONFIG_PATH=/opt/intel/openvino/runtime/lib/intel64/pkgconfig
283+
284+
# setup Python
285+
ENV VIRTUAL_ENV=/opt/venv
286+
RUN python3.9 -m venv $VIRTUAL_ENV
287+
ENV PATH=$VIRTUAL_ENV/bin:$PATH
288+
# hadolint ignore=DL3013
289+
RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools
290+
291+
# dev package
292+
WORKDIR ${INTEL_OPENVINO_DIR}
293+
ARG OPENVINO_WHEELS_VERSION=2025.0.0
294+
ARG OPENVINO_WHEELS_URL
295+
# hadolint ignore=SC2102
296+
RUN apt-get update && apt-get install -y --no-install-recommends cmake make git && rm -rf /var/lib/apt/lists/* && \
297+
if [ -z "$OPENVINO_WHEELS_URL" ]; then \
298+
python3 -m pip install --no-cache-dir openvino=="${OPENVINO_WHEELS_VERSION}" && \
299+
python3 -m pip install --no-cache-dir openvino-tokenizers=="${OPENVINO_WHEELS_VERSION}" && \
300+
python3 -m pip install --no-cache-dir openvino-genai=="${OPENVINO_WHEELS_VERSION}" && \
301+
python3 -m pip install --no-cache-dir openvino_dev[caffe,kaldi,mxnet,onnx,pytorch,tensorflow2]=="${OPENVINO_WHEELS_VERSION}" --extra-index-url https://download.pytorch.org/whl/cpu; \
302+
else \
303+
python3 -m pip install --no-cache-dir --pre openvino=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" && \
304+
python3 -m pip install --no-cache-dir --pre openvino-tokenizers=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" && \
305+
python3 -m pip install --no-cache-dir --pre openvino-genai=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" && \
306+
python3 -m pip install --no-cache-dir --pre openvino_dev[caffe,kaldi,mxnet,onnx,pytorch,tensorflow2]=="${OPENVINO_WHEELS_VERSION}" --trusted-host=* --find-links "$OPENVINO_WHEELS_URL" --extra-index-url https://download.pytorch.org/whl/cpu; \
307+
fi
308+
309+
WORKDIR ${INTEL_OPENVINO_DIR}/licensing
310+
# Please use `third-party-programs-docker-dev.txt` short path to 3d party file if you use the Dockerfile directly from docker_ci/dockerfiles repo folder
311+
COPY dockerfiles/ubuntu20/third-party-programs-docker-dev.txt ${INTEL_OPENVINO_DIR}/licensing
312+
COPY dockerfiles/ubuntu20/third-party-programs-docker-runtime.txt ${INTEL_OPENVINO_DIR}/licensing
313+
314+
COPY --from=opencv /opt/repo/opencv/build/install ${INTEL_OPENVINO_DIR}/extras/opencv
315+
RUN echo "export OpenCV_DIR=${INTEL_OPENVINO_DIR}/extras/opencv/cmake" | tee -a "${INTEL_OPENVINO_DIR}/extras/opencv/setupvars.sh"; \
316+
echo "export LD_LIBRARY_PATH=${INTEL_OPENVINO_DIR}/extras/opencv/lib:\$LD_LIBRARY_PATH" | tee -a "${INTEL_OPENVINO_DIR}/extras/opencv/setupvars.sh"
317+
318+
# Install dependencies for OV::RemoteTensor
319+
RUN apt-get update && apt-get install -y --no-install-recommends opencl-headers ocl-icd-opencl-dev && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/*
320+
321+
# build samples into ${INTEL_OPENVINO_DIR}/samples/cpp/samples_bin
322+
WORKDIR ${INTEL_OPENVINO_DIR}/samples/cpp
323+
RUN ./build_samples.sh -b /tmp/build -i ${INTEL_OPENVINO_DIR}/samples/cpp/samples_bin && \
324+
rm -Rf /tmp/build
325+
326+
# add Model API package
327+
# hadolint ignore=DL3013
328+
RUN git clone https://github.com/openvinotoolkit/open_model_zoo && \
329+
sed -i '/opencv-python/d' open_model_zoo/demos/common/python/requirements.txt && \
330+
python3 -m pip --no-cache-dir install open_model_zoo/demos/common/python/ && \
331+
rm -Rf open_model_zoo && \
332+
python3 -c "from model_zoo import model_api"
333+
334+
# for CPU
335+
336+
# for GPU
337+
338+
RUN apt-get update && apt-get install -y --no-install-recommends gpg gpg-agent && \
339+
curl https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && \
340+
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu focal-legacy main' | tee /etc/apt/sources.list.d/intel.gpu.focal.list && \
341+
apt-get update && \
342+
apt-get install -y --no-install-recommends \
343+
intel-opencl-icd=22.43.24595.35+i538~20.04 \
344+
intel-level-zero-gpu=1.3.24595.35+i538~20.04 \
345+
level-zero=1.8.8+i524~u20.04 \
346+
ocl-icd-libopencl1 && \
347+
apt-get purge gpg gpg-agent --yes && apt-get --yes autoremove && \
348+
apt-get clean ; \
349+
rm -rf /var/lib/apt/lists/* && rm -rf /tmp/*
350+
351+
352+
# Post-installation cleanup and setting up OpenVINO environment variables
353+
ENV LIBVA_DRIVER_NAME=iHD
354+
ENV GST_VAAPI_ALL_DRIVERS=1
355+
ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
356+
357+
RUN apt-get update && \
358+
apt-get autoremove -y gfortran && \
359+
rm -rf /var/lib/apt/lists/*
360+
361+
USER openvino
362+
WORKDIR ${INTEL_OPENVINO_DIR}
363+
ENV DEBIAN_FRONTEND=noninteractive
364+
365+
CMD ["/bin/bash"]
366+
367+
# Setup custom layers below

0 commit comments

Comments
 (0)