forked from yuto3o/yolox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
105 lines (92 loc) · 2.93 KB
/
Dockerfile
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
ARG BASE_IMAGE=nvidia/cuda:11.2.2-cudnn8-runtime-ubuntu20.04
FROM ${BASE_IMAGE}
ENV DEBIAN_FRONTEND=noninteractive
# Nvidia hardware acceleration
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics
# Install a tool to find a fast, up-to-date Ubuntu Archive Mirror.
RUN apt update && apt install --no-install-recommends -y python3-pip &&\
pip3 install -U pip &&\
pip3 install apt-mirror-updater packaging &&\
apt-mirror-updater -a -q &&\
rm -rf /var/lib/apt/lists/*
# Tensorflow
RUN pip3 install -U pip &&\
pip3 install -U tensorflow==2.7.0
# Install Build, OpenCV dependencies
RUN apt-mirror-updater -a -q &&\
apt install --no-install-recommends -y build-essential cmake ninja-build git pkg-config &&\
apt install --no-install-recommends -y libgtk2.0-dev libx11-dev libjpeg-dev libpng-dev &&\
rm -rf /var/lib/apt/lists/*
# Install OpenCV
RUN mkdir -p /tmp/opencv &&\
cd /tmp/opencv &&\
git clone https://github.com/opencv/opencv.git &&\
mkdir opencv/build &&\
cd opencv/build &&\
cmake -G Ninja .. \
-DBUILD_PERF_TESTS=Off \
-DBUILD_TESTS=Off \
-DBUILD_EXAMPLES=Off \
-DBUILD_opencv_apps=Off \
-DBUILD_opencv_calib3d=Off \
-DBUILD_opencv_core=On \
-DBUILD_opencv_dnn=Off \
-DBUILD_opencv_features2d=Off \
-DBUILD_opencv_flann=Off \
-DBUILD_opencv_highgui=On \
-DBUILD_opencv_imgcodecs=On \
-DBUILD_opencv_imgproc=On \
-DBUILD_opencv_java_bindings_generator=Off \
-DBUILD_opencv_js=Off \
-DBUILD_opencv_ml=Off \
-DBUILD_opencv_objdetect=Off \
-DBUILD_opencv_photo=Off \
-DBUILD_opencv_python2=Off \
-DBUILD_opencv_python3=On \
-DBUILD_opencv_python_bindings_generator=Off \
-DBUILD_opencv_python_tests=Off \
-DBUILD_opencv_shape=Off \
-DBUILD_opencv_stitching=Off \
-DBUILD_opencv_superres=Off \
-DBUILD_opencv_ts=Off \
-DBUILD_opencv_video=On \
-DBUILD_opencv_videoio=On \
-DBUILD_opencv_videostab=Off \
-DBUILD_opencv_world=Off \
-DWITH_JASPER=Off \
-DWITH_ITT=Off \
-DWITH_JPEG=On \
-DWITH_WEBP=Off \
-DWITH_PNG=On \
-DWITH_TIFF=Off \
-DWITH_OPENEXR=Off \
-DWITH_OPENCL=Off\
-DWITH_IPP=Off \
-DWITH_PROTOBUF=Off \
-DWITH_GTK_2_X=On \
-DCMAKE_BUILD_TYPE=Release &&\
ninja &&\
ninja install &&\
cd ~ &&\
rm -rf /tmp/opencv
# Boost
RUN apt-mirror-updater -a -q &&\
apt install --no-install-recommends -y libboost-python-dev libboost-numpy-dev &&\
rm -rf /var/lib/apt/lists/*
# OpenCV (Python)
RUN pip3 install -U pip &&\
pip3 install opencv-python
# Yaml
RUN pip3 install pyyaml
# LabelImg
RUN apt-mirror-updater -a -q &&\
apt install --no-install-recommends -y pyqt5-dev-tools &&\
pip3 install -U pip &&\
pip3 install labelImg
# Model conversion
RUN pip3 install -U pip &&\
pip3 install tf2onnx
RUN ldconfig