Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

Commit 09df64da authored by GONZALES ZUNIGA Juan Diego's avatar GONZALES ZUNIGA Juan Diego
Browse files

Merge branch 'intelbased'

parents 4240cd68 58ed7756
FROM local/dockervino:phase1 as build
FROM ubuntu18_data_dev:2021.3 as build
USER root
ENV downloader=${INTEL_OPENVINO_DIR}/deployment_tools/tools/model_downloader/downloader.py
ENV converter=${INTEL_OPENVINO_DIR}/deployment_tools/tools/model_downloader/converter.py
ENV optimizer=${INTEL_OPENVINO_DIR}/deployment_tools/model_optimizer/mo.py
ARG models=/root/openvino_models
WORKDIR $models
RUN apt update && \
apt install sudo && \
${INTEL_OPENVINO_DIR}/deployment_tools/demo/demo_benchmark_app.sh
RUN python3 $downloader --name googlenet-v3 --output_dir $models
RUN python3 $converter --name googlenet-v3 --output_dir $models --precisions FP32,FP16
......@@ -20,5 +26,17 @@ RUN python3 $converter --name vgg19 --output_dir $models --precisions FP32,FP16
RUN python3 $downloader --name resnet-50-tf --output_dir $models
RUN python3 $converter --name resnet-50-tf --output_dir $models --precisions FP32,FP16
RUN python3 $downloader --name efficientnet-b0-pytorch --output_dir $models
RUN python3 $converter --name efficientnet-b0-pytorch --output_dir $models --precisions FP32,FP16
RUN python3 $downloader --name efficientnet-b5-pytorch --output_dir $models
RUN python3 $converter --name efficientnet-b5-pytorch --output_dir $models --precisions FP32,FP16
RUN python3 $downloader --name efficientnet-b7-pytorch --output_dir $models
RUN python3 $converter --name efficientnet-b7-pytorch --output_dir $models --precisions FP32,FP16
RUN python3 $downloader --name i3d-rgb-tf --output_dir $models
RUN python3 $converter --name i3d-rgb-tf --output_dir $models --precisions FP32,FP16
COPY ./entrypoint.sh /
CMD ["/bin/bash"]
......@@ -4,25 +4,36 @@ source $setupvars
# app, device, model and input are defined in the runcmd file
benchmark=/root/inference_engine_samples_build/intel64/Release/benchmark_app
input=/opt/intel/openvino/deployment_tools/demo/car.png
models=/root/openvino_models
echo "Benchmarking starts now!"
lscpu
echo "Inception V3"
$benchmark -d $device -i $input -api $api -pc -m $models/public/googlenet-v3/$datatype/googlenet-v3.xml
echo "Testing: Inception V3"
$benchmark -d $device -api $api -pc -m $models/public/googlenet-v3/$datatype/googlenet-v3.xml
echo "Inception V4"
$benchmark -d $device -i $input -api $api -pc -m $models/public/googlenet-v4-tf/$datatype/googlenet-v4-tf.xml
echo "Testing: Inception V4"
$benchmark -d $device -api $api -pc -m $models/public/googlenet-v4-tf/$datatype/googlenet-v4-tf.xml
echo "VGG16"
$benchmark -d $device -i $input -api $api -pc -m $models/public/vgg16/$datatype/vgg16.xml
echo "Testing: VGG16"
$benchmark -d $device -api $api -pc -m $models/public/vgg16/$datatype/vgg16.xml
echo "VGG19"
$benchmark -d $device -i $input -api $api -pc -m $models/public/vgg19/$datatype/vgg19.xml
echo "Testing: VGG19"
$benchmark -d $device -api $api -pc -m $models/public/vgg19/$datatype/vgg19.xml
echo "Resnet 50"
$benchmark -d $device -i $input -api $api -pc -m $models/public/resnet-50-tf/$datatype/resnet-50-tf.xml
echo "Testing: Resnet 50"
$benchmark -d $device -api $api -pc -m $models/public/resnet-50-tf/$datatype/resnet-50-tf.xml
echo "Testing: Efficientnet B0"
$benchmark -d $device -api $api -pc -m $models/public/efficientnet-b0-pytorch/$datatype/efficientnet-b0-pytorch.xml
echo "Testing: Efficientnet B5"
$benchmark -d $device -api $api -pc -m $models/public/efficientnet-b5-pytorch/$datatype/efficientnet-b5-pytorch.xml
echo "Testing: Efficientnet B7"
$benchmark -d $device -api $api -pc -m $models/public/efficientnet-b7-pytorch/$datatype/efficientnet-b7-pytorch.xml
echo "Testing: I3D"
$benchmark -d $device -api $api -pc -m $models/public/i3d-rgb-tf/$datatype/i3d-rgb-tf.xml
echo "Benchmarking done!"
......@@ -11,14 +11,13 @@ set -x
docker run \
-d \
-ti \
--privileged \
--net=host \
--env="DISPLAY" \
--env="device=$device" \
--env="api=$api" \
--env="datatype=$datatype" \
--env="setupvars=$setupvars" \
--volume="/dev:/dev" \
--device="/dev/dri:/dev/dri" \
--cap-add SYS_PTRACE \
--env="PS1=$myname> "\
--publish-all=true \
......@@ -33,4 +32,4 @@ set +x
$debug docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $1 $contid
set +x
echo "docker logs benchmark | sed -n -e 's/.*Throughput://p' | sed -e 's/^[ \t]*//' | awk '{print $1}'"
echo "docker logs benchmark | sed -n -e 's/.*Throughput://p' -e 's/.*Testing://p' | sed -e 's/^[ \t]*//' | awk '{print $1}'"
# Debug Docker image after installation
# Image to debug on phase2
FROM local/dockervino:phase2 as phase2
FROM local/dockervino:phase1 as phase1
MAINTAINER jdg:juan-diego.gonzales-zuniga@kontron.com
ENV tools=$INTEL_OPENVINO_DIR/deployment_tools
......@@ -9,8 +8,6 @@ ENV optimizer=$tools/model_optimizer
ENV converter=$tools/tools/model_downloader/converter.py
ENV models=/root/openvino_models
# Copy models from phase2
COPY --from=phase2 /root/openvino_models/ir /root/openvino_models/ir
WORKDIR $INTEL_OPENVINO_DIR/deployment_tools
RUN apt install -y x11-utils vim strace libtool autoconf libmosquittopp-dev mosquitto mosquitto-clients lsb-release pciutils kmod git
RUN pip3 install paho-mqtt scipy
......
......@@ -23,22 +23,23 @@ rm -f ./xauthority ; cp $XAUTHORITY ./xauthority ;chmod 666 ./xauthority #else r
setupvars=/opt/intel/openvino/bin/setupvars.sh
examples_dir=/root/omz_demos_build/intel64/Release
models_dir=/root/openvino_models/ir
labels_file=/opt/intel/openvino/deployment_tools/open_model_zoo/data/dataset_classes/coco_80cl_bkgr.txt
build_cmd="/opt/intel/openvino/deployment_tools/open_model_zoo/demos/build_demos.sh -DENABLE_PYTHON=on"
# Input: IPCam or USBCam
input=cam
input=0
#################################
######## Examples ###########
#################################
device=CPU
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/instance_segmentation_demo/python/instance_segmentation_demo.py
######## CPU 3D Pose Estimation ###
if [ "$device" == CPU ]; then
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/python_demos/human_pose_estimation_3d_demo/human_pose_estimation_3d_demo.py
model=${models_dir}/public/human-pose-estimation-3d-0001/FP32/human-pose-estimation-3d-0001.xml
model=${models_dir}/intel/instance-segmentation-security-0228/FP32/instance-segmentation-security-0228.xml
fi
###### NCS2 3D Pose Estimation #####
if [ "$device" == MYRIAD ]; then
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/python_demos/human_pose_estimation_3d_demo/human_pose_estimation_3d_demo.py
model=${models_dir}/public/human-pose-estimation-3d-0001/FP16/human-pose-estimation-3d-0001.xml
model=${models_dir}/intel/instance-segmentation-security-0228/FP16/instance-segmentation-security-0228.xml
fi
#raw=true
......@@ -59,12 +60,12 @@ docker run $opts \
-ti \
--mount type=bind,source="$(pwd)"/../../open_model_zoo,target=/opt/intel/openvino/deployment_tools/open_model_zoo \
--mount type=bind,source="$(pwd)"/../demo/videos,target=/videos \
--privileged \
--net=host \
--env="setupvars=$setupvars" \
--env="examples_dir=$examples_dir" \
--env="models_dir=$models_dir" \
--env="build_cmd=$build_cmd" \
--env="labels_file=$labels_file" \
--env="DISPLAY=$display" \
--env="input=$input" \
--env="device=$device" \
......@@ -76,8 +77,7 @@ docker run $opts \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
--device="/dev/video0:/dev/video0" \
--volume="/dev:/dev" \
--device="/dev/dri:/dev/dri" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix" \
--env="PS1=$myname> "\
--publish-all=true \
......
FROM local/dockervino:phase2 as phase2
FROM local/dockervino:phase1 as phase1
WORKDIR ${INTEL_OPENVINO_DIR}/deployment_tools
RUN apt install -y libmosquittopp-dev git && \
......@@ -8,8 +7,5 @@ RUN apt install -y libmosquittopp-dev git && \
git clone https://github.com/Ukhupacha/open_model_zoo.git --branch kontron --depth 1 && \
${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/demos/build_demos.sh -DENABLE_PYTHON=on && \
apt autoremove -y && rm -rf /var/lib/apt/lists/*
FROM scratch
COPY --from=phase1 / /
COPY --from=phase2 /root/openvino_models/ir /root/openvino_models/ir
COPY ./entrypoint.sh /
CMD ["/bin/bash"]
......@@ -11,26 +11,23 @@ echo "Model used: $model"
if [ "$app" = "/root/omz_demos_build/intel64/Release/interactive_face_detection_demo" ]; then
$app -i $input \
-d $device -m $model \
-d_ag $device -m_ag $agM \
-d_em $device -m_em $emM \
-d_hp $device -m_hp $hpM
$app -i $input -d $device -m $model -d_ag $device -m_ag $agM -d_em $device -m_em $emM -d_hp $device -m_hp $hpM
elif [ "$app" = "/root/omz_demos_build/intel64/Release/human_pose_estimation_demo" ]; then
$app -i $input -d $device -m $model -r $raw -broker $broker -client $client
$app -i $input -at openpose -d $device -m $model -send $send -broker $broker -client $client
elif [ "$app" = "/root/omz_demos_build/intel64/Release/object_detection_demo" ]; then
$app -i $input -at $detection -d $device -m $model
elif [ "$app" = "/root/omz_demos_build/intel64/Release/pedestrian_tracker_demo" ]; then
$app -i $input -d_det $device -d_reid $device -m_det $m_det -m_reid $m_reid -r $raw -broker $broker -client $client
elif [ "$app" = "/opt/intel/openvino/deployment_tools/open_model_zoo/demos/python_demos/human_pose_estimation_3d_demo/human_pose_estimation_3d_demo.py" ]; then
if [ "$input" = "cam" ]; then
export input=0
fi
if [ "$raw" = "true" ]; then
python3 $app -i $input -d $device -m $model --client $client --broker $broker
$app -i $input -d_det $device -d_reid $device -m_det $m_det -m_reid $m_reid -send $send -broker $broker -client $client
elif [ "$app" = "/opt/intel/openvino/deployment_tools/open_model_zoo/demos/human_pose_estimation_3d_demo/python/human_pose_estimation_3d_demo.py" ]; then
if [ "$send" = "true" ]; then
python3 $app -i $input -d $device -m $model --send --broker $broker --client $client
else
python3 $app -i $input -d $device -m $model --no_send
python3 $app -i $input -d $device -m $model
fi
else
elif [ "$app" = "/opt/intel/openvino/deployment_tools/open_model_zoo/demos/instance_segmentation_demo/python/instance_segmentation_demo.py" ]; then
python3 $app -i $input -d $device -m $model --labels $labels_file
else
$app -i $input -d $device -m $model
fi
......@@ -30,18 +30,18 @@ device=CPU
######## CPU 3D Pose Estimation ###
if [ "$device" == CPU ]; then
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/python_demos/human_pose_estimation_3d_demo/human_pose_estimation_3d_demo.py
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/human_pose_estimation_3d_demo/python/human_pose_estimation_3d_demo.py
model=${models_dir}/public/human-pose-estimation-3d-0001/FP32/human-pose-estimation-3d-0001.xml
raw=true
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
###### NCS2 3D Pose Estimation #####
if [ "$device" == MYRIAD ]; then
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/python_demos/human_pose_estimation_3d_demo/human_pose_estimation_3d_demo.py
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/human_pose_estimation_3d_demo/python/human_pose_estimation_3d_demo.py
model=${models_dir}/public/human-pose-estimation-3d-0001/FP16/human-pose-estimation-3d-0001.xml
raw=true
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
......@@ -66,7 +66,7 @@ docker run $opts \
--env="m_reid=$m_reid" \
--env="broker=$broker" \
--env="client=$client" \
--env="raw=$raw" \
--env="send=$send" \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
......
......@@ -40,7 +40,7 @@ fi
if [ "$device" == MYRIAD ]; then
app=${examples_dir}/human_pose_estimation_demo
model=${models_dir}/intel/human-pose-estimation-0001/FP16/human-pose-estimation-0001.xml
raw=true
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
......@@ -65,7 +65,7 @@ docker run $opts \
--env="m_reid=$m_reid" \
--env="broker=$broker" \
--env="client=$client" \
--env="raw=$raw" \
--env="send=$send" \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
......
#!/bin/bash
myimage=local/dockervino:demo
myname=dockervinodemo
#################################
##### Display Parameters #####
#################################
# if run from a graphics window or shell, set some server params, else document what is needed
[ k$DISPLAY = k ] && doit=echo
# X11 Display and access file (to us in XAUTORITY env)
# enable access from anywhere (used for containers)
$doit xhost +
# disable screen saver
$doit xset s 0
# force screen to use (0 is usually the physical display of the system, others would be Xvnc virtual screens)
display=$DISPLAY
rm -f ./xauthority ; cp $XAUTHORITY ./xauthority ;chmod 666 ./xauthority #else root user inside container cannot open
#################################
##### General Parameters ######
#################################
# Init Openvino environment
setupvars=/opt/intel/openvino/bin/setupvars.sh
examples_dir=/root/omz_demos_build/intel64/Release
models_dir=/root/openvino_models/ir
# Input: IPCam or USBCam
input=/videos/test.mp4
# device: CPU or MYRIAD
device=CPU
app=/opt/intel/openvino/deployment_tools/open_model_zoo/demos/instance_segmentation_demo/python/instance_segmentation_demo.py
labels_file=/opt/intel/openvino/deployment_tools/open_model_zoo/data/dataset_classes/coco_80cl_bkgr.txt
######## Instance Segmentation CPU ###
if [ "$device" == CPU ]; then
model=${models_dir}/intel/instance-segmentation-security-0228/FP32/instance-segmentation-security-0228.xml
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
###### Instance Segmentation MYRIAD #####
if [ "$device" == MYRIAD ]; then
model=${models_dir}/intel/instance-segmentation-security-0228/FP16/instance-segmentation-security-0228.xml
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
opts="--entrypoint=/entrypoint.sh"
# Running the container
set -x
docker run $opts \
-d \
-ti \
--mount type=bind,source="$(pwd)"/videos,target=/videos \
--privileged \
--net=host \
--env="setupvars=$setupvars" \
--env="labels_file=$labels_file" \
--env="DISPLAY=$display" \
--env="input=$input" \
--env="device=$device" \
--env="app=$app" \
--env="model=$model" \
--env="m_det=$m_det" \
--env="m_reid=$m_reid" \
--env="broker=$broker" \
--env="client=$client" \
--env="send=$send" \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
--device="/dev/video0:/dev/video0" \
--volume="/dev:/dev" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix" \
--env="PS1=$myname> "\
--publish-all=true \
--hostname=$myname \
--entrypoint /entrypoint.sh \
--name $myname \
--cidfile=/tmp/monitcont.id \
$myimage /bin/sh
contid=$(cat /tmp/monitcont.id; rm -f /tmp/monitcont.id)
set +x
$debug docker logs $contid
$debug docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $1 $contid
set +x
......@@ -27,16 +27,16 @@ models_dir=/root/openvino_models/ir
input=/videos/test.mp4
# device: CPU or MYRIAD
device=CPU
detection=ssd
app=${examples_dir}/object_detection_demo
####### CPU Object Detection ###
if [ "$device" == CPU ]; then
app=${examples_dir}/object_detection_demo_ssd_async
model=${models_dir}/ssd300/FP32/ssd300.xml
model=${models_dir}/public/ssd_mobilenet_v1_coco/FP32/ssd_mobilenet_v1_coco.xml
fi
###### NCS2 Object Detection ####
if [ "$device" == MYRIAD ]; then
app=${examples_dir}/object_detection_demo_ssd_async
model=${models_dir}/ssd300/FP16/ssd300.xml
model=${models_dir}/public/ssd_mobilenet_v1_coco/FP16/ssd_mobilenet_v1_coco.xml
fi
opts="--entrypoint=/entrypoint.sh"
......@@ -47,13 +47,13 @@ docker run $opts \
-d \
-ti \
--mount type=bind,source="$(pwd)"/videos,target=/videos \
--privileged \
--net=host \
--env="setupvars=$setupvars" \
--env="DISPLAY=$display" \
--env="input=$input" \
--env="device=$device" \
--env="app=$app" \
--env="detection=$detection" \
--env="model=$model" \
--env="m_det=$m_det" \
--env="m_reid=$m_reid" \
......@@ -63,8 +63,7 @@ docker run $opts \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
--device="/dev/video0:/dev/video0" \
--volume="/dev:/dev" \
--device="/dev/dri:/dev/dri" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix" \
--env="PS1=$myname> "\
--publish-all=true \
......
......@@ -26,14 +26,14 @@ models_dir=/root/openvino_models/ir
# Input: IPCam or USBCam
input=/videos/test.mp4
# device: CPU or MYRIAD
device=MYRIAD
device=CPU
######## CPU Pedestrian Tracker ###
if [ "$device" == CPU ]; then
app=${examples_dir}/pedestrian_tracker_demo
m_det=${models_dir}/intel/person-detection-retail-0013/FP32/person-detection-retail-0013.xml
m_reid=${models_dir}/intel/person-reidentification-retail-0277/FP32/person-reidentification-retail-0277.xml
raw=true
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
......@@ -42,7 +42,7 @@ if [ "$device" == MYRIAD ]; then
app=${examples_dir}/pedestrian_tracker_demo
m_det=${models_dir}/intel/person-detection-retail-0013/FP16/person-detection-retail-0013.xml
m_reid=${models_dir}/intel/person-reidentification-retail-0277/FP16/person-reidentification-retail-0277.xml
raw=true
send=true
broker=kontron-lora.cloudapp.net
client=Demo
fi
......@@ -67,7 +67,7 @@ docker run $opts \
--env="m_reid=$m_reid" \
--env="broker=$broker" \
--env="client=$client" \
--env="raw=$raw" \
--env="send=$send" \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
......
......@@ -27,16 +27,16 @@ models_dir=/root/openvino_models/ir
input=/videos/test.mp4
# device: CPU or MYRIAD
device=CPU
detection=yolo
app=${examples_dir}/object_detection_demo
###### CPU YOLO V3 ########
####### CPU Object Detection ###
if [ "$device" == CPU ]; then
app=${examples_dir}/object_detection_demo_yolov3_async
model=${models_dir}/yolo/FP32/yolo_v3.xml
model=${models_dir}/public/yolo-v3-tiny-tf/FP32/yolo-v3-tiny-tf.xml
fi
###### NCS2 YOLO V3 ########
###### NCS2 Object Detection ####
if [ "$device" == MYRIAD ]; then
app=${examples_dir}/object_detection_demo_yolov3_async
model=${models_dir}/yolo/FP16/yolo_v3.xml
model=${models_dir}/public/yolo-v3-tiny-tf/FP16/yolo-v3-tiny-tf.xml
fi
opts="--entrypoint=/entrypoint.sh"
......@@ -47,13 +47,13 @@ docker run $opts \
-d \
-ti \
--mount type=bind,source="$(pwd)"/videos,target=/videos \
--privileged \
--net=host \
--env="setupvars=$setupvars" \
--env="DISPLAY=$display" \
--env="input=$input" \
--env="device=$device" \
--env="app=$app" \
--env="detection=$detection" \
--env="model=$model" \
--env="m_det=$m_det" \
--env="m_reid=$m_reid" \
......@@ -63,8 +63,7 @@ docker run $opts \
--env="agM=$agM" \
--env="emM=$emM" \
--env="hpM=$hpM" \
--device="/dev/video0:/dev/video0" \
--volume="/dev:/dev" \
--device="/dev/dri:/dev/dri" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix" \
--env="PS1=$myname> "\
--publish-all=true \
......
......@@ -2,158 +2,52 @@
# Replace openvinoTar with the openvinoversion
# The openvinoTar is erased after installation
FROM ubuntu:18.04
MAINTAINER jdg:juan-diego.gonzales-zuniga@kontron.com
FROM ubuntu18_data_dev:2021.3 as build
WORKDIR /
USER root
ENV downloader=${INTEL_OPENVINO_DIR}/deployment_tools/tools/model_downloader/downloader.py
ENV converter=${INTEL_OPENVINO_DIR}/deployment_tools/tools/model_downloader/converter.py
ENV optimizer=${INTEL_OPENVINO_DIR}/deployment_tools/model_optimizer/mo.py
ENV tools=${INTEL_OPENVINO_DIR}/deployment_tools
ENV models=/root/openvino_models
WORKDIR $models
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
RUN apt update && \
apt install sudo && \
${INTEL_OPENVINO_DIR}/deployment_tools/demo/demo_benchmark_app.sh
# Downloading Human Pose Detection
RUN python3 $downloader --name human-pose-estimation-0001 --output_dir $models/ir
# Dependencies
ARG DEPENDENCIES="autoconf \
automake \
build-essential \
cmake \
cpio \
curl \
gnupg2 \
libdrm2 \
libglib2.0-0 \
lsb-release \
libgtk-3-0 \
libtool \
udev \
unzip \
dos2unix \
sudo \
wget \
git"
# Downloading Face Detection
RUN python3 $downloader --name face-detection-retail-0004 --output_dir $models/ir
RUN apt-get update && \
apt-get install -y --no-install-recommends ${DEPENDENCIES} && \
rm -rf /var/lib/apt/lists/*
# Downloading Age gender Recognition
RUN python3 $downloader --name age-gender-recognition-retail-0013 --output_dir $models/ir
WORKDIR /thirdparty
RUN sed -Ei 's/# deb-src /deb-src /' /etc/apt/sources.list && \
apt-get update && \
apt-get source ${DEPENDENCIES} && \
rm -rf /var/lib/apt/lists/*
# Downloaing Emotion Recognition
RUN python3 $downloader --name emotions-recognition-retail-0003 --output_dir $models/ir
# setup Python
ENV PYTHON python3.6
RUN apt-get update && \
apt-get install -y --no-install-recommends python3-pip python3-dev lib${PYTHON} && \
rm -rf /var/lib/apt/lists/*
# Downloading Head Pose Estimation
RUN python3 $downloader --name head-pose-estimation-adas-0001 --output_dir $models/ir
# Openvino Version and copy from host
ARG openvinoTar=l_openvino_toolkit_p_2021.1.110
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino_2021.1.110
ARG TEMP_DIR=/tmp/openvino_installer
# Downloadind tracker networks
RUN $downloader --name person-detection-retail-0013 --output_dir $models/ir
RUN $downloader --name person-reidentification-retail-0277 --output_dir $models/ir
WORKDIR ${TEMP_DIR}
COPY ./$openvinoTar.tgz $TEMP_DIR
ENV TZ=Europe/Paris
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Downloading Human Pose Detection 3D
RUN python3 $downloader --list $tools/open_model_zoo/demos/human_pose_estimation_3d_demo/python/models.lst
RUN python3 $converter --list $tools/open_model_zoo/demos/human_pose_estimation_3d_demo/python/models.lst --output_dir $models/ir --mo $optimizer
# install product by installation script
RUN tar -xzf ${TEMP_DIR}/*.tgz --strip 1
RUN sed -i 's/decline/accept/g' silent.cfg && \
${TEMP_DIR}/install.sh -s silent.cfg && \
${INTEL_OPENVINO_DIR}/install_dependencies/install_openvino_dependencies.sh && \
cp ${INTEL_OPENVINO_DIR}/deployment_tools/inference_engine/external/97-myriad-usbboot.rules /etc/udev/rules.d/ && \
ldconfig
# Downloading SSD Detection
RUN $downloader --name ssd_mobilenet_v1_coco --output_dir $models
RUN $converter --name ssd_mobilenet_v1_coco -d $models --output_dir $models/ir
WORKDIR /tmp
RUN rm -rf ${TEMP_DIR}
# Downloading Yolo v3 Detection
RUN $downloader --name yolo-v3-tiny-tf --output_dir $models
RUN $converter --name yolo-v3-tiny-tf -d $models --output_dir $models/ir
# for GPU
ARG GMMLIB=19.3.2
ARG IGC_CORE=1.0.2597
ARG IGC_OPENCL=1.0.2597
ARG INTEL_OPENCL=19.41.14441
ARG INTEL_OCLOC=19.41.14441
ARG TEMP_DIR=/tmp/opencl
WORKDIR ${TEMP_DIR}
RUN apt-get update && \
apt-get install -y --no-install-recommends ocl-icd-libopencl1=2.2.11-1ubuntu1 && \
rm -rf /var/lib/apt/lists/* && \
curl -L "https://github.com/intel/compute-runtime/releases/download/${INTEL_OPENCL}/intel-gmmlib_${GMMLIB}_amd64.deb" --output "intel-gmmlib_${GMMLIB}_amd64.deb" && \
curl -L "https://github.com/intel/compute-runtime/releases/download/${INTEL_OPENCL}/intel-igc-core_${IGC_CORE}_amd64.deb" --output "intel-igc-core_${IGC_CORE}_amd64.deb" && \
curl -L "https://github.com/intel/compute-runtime/releases/download/${INTEL_OPENCL}/intel-igc-opencl_${IGC_OPENCL}_amd64.deb" --output "intel-igc-opencl_${IGC_OPENCL}_amd64.deb" && \
curl -L "https://github.com/intel/compute-runtime/releases/download/${INTEL_OPENCL}/intel-opencl_${INTEL_OPENCL}_amd64.deb" --output "intel-opencl_${INTEL_OPENCL}_amd64.deb" && \
curl -L "https://github.com/intel/compute-runtime/releases/download/${INTEL_OPENCL}/intel-ocloc_${INTEL_OCLOC}_amd64.deb" --output "intel-ocloc_${INTEL_OCLOC}_amd64.deb" && \
dpkg -i ${TEMP_DIR}/*.deb && \
ldconfig && \
rm -rf ${TEMP_DIR}
# for VPU
WORKDIR /opt
RUN curl -L https://github.com/libusb/libusb/archive/v1.0.22.zip --output v1.0.22.zip && \
unzip v1.0.22.zip
WORKDIR /opt/libusb-1.0.22
RUN ./bootstrap.sh && \
./configure --disable-udev --enable-shared && \
make -j4
RUN apt-get update && \