This repository was archived by the owner on Jun 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathbuild_docker_image.sh
More file actions
executable file
·62 lines (54 loc) · 1.49 KB
/
build_docker_image.sh
File metadata and controls
executable file
·62 lines (54 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env bash
set -e
display_usage() {
echo
echo "Usage: $0 [cpu,gpu] (default: gpu)"
echo
}
TARGET="${1:-gpu}"
IMAGE_NAME="ttcf"
IMAGE_FULL_NAME="${IMAGE_NAME}:${TARGET}"
OPENVINO_VERSION=$(ls -tF l_openvino_toolkit_p_*.tgz | head -n 1 | grep -oP '(?<=l_openvino_toolkit_p_)\d+\.\d+\.\d+')
case "$TARGET" in
gpu)
CUDA_VERSION=$(grep -oP '(?<=CUDA Version )(\d+)' /usr/local/cuda/version.txt)
if [ -z "$CUDA_VERSION" ];
then
echo "[ERROR] Could NOT find CUDA"
exit 1
fi
# https://hub.docker.com/r/nvidia/cuda/
BASE_IMAGE="nvidia/cuda:${CUDA_VERSION}.0-cudnn7-devel-ubuntu16.04"
EXEC_BIN="nvidia-docker"
;;
cpu)
BASE_IMAGE="ubuntu:16.04"
EXEC_BIN="docker"
;;
*)
display_usage
exit 1
;;
esac
if [ -z "$OPENVINO_VERSION" ];
then
echo "[ERROR] Could NOT find OpenVINO package"
exit 1
fi
echo ""
echo "Base name: ${BASE_IMAGE}"
echo "Image name: ${IMAGE_FULL_NAME}"
echo "OpenVINO version: ${OPENVINO_VERSION}"
echo "Detected CUDA: ${CUDA_VERSION}"
echo ""
# shellcheck disable=SC2154
$EXEC_BIN build \
--build-arg BASE_IMAGE="${BASE_IMAGE}" \
--build-arg OPENVINO_VERSION="${OPENVINO_VERSION}" \
--build-arg http_proxy="${http_proxy}" \
--build-arg https_proxy="${https_proxy}" \
--build-arg no_proxy="${no_proxy}" \
-t "${IMAGE_FULL_NAME}" \
-t "${IMAGE_NAME}:latest" \
-f docker/Dockerfile \
.