π [Merge] PINTO docker image!
Browse files- .dockerignore +32 -0
- Dockerfile.cpu +84 -0
- Dockerfile.gpu +129 -0
.dockerignore
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.devcontainer
|
2 |
+
.vscode
|
3 |
+
.git
|
4 |
+
.github
|
5 |
+
.gitignore
|
6 |
+
.pre-commit-config.yaml
|
7 |
+
Dockerfile
|
8 |
+
LICENSE
|
9 |
+
CITATION.cff
|
10 |
+
README.md
|
11 |
+
CODE_OF_CONDUCT.md
|
12 |
+
CONTRIBUTING.md
|
13 |
+
SECURITY.md
|
14 |
+
|
15 |
+
data
|
16 |
+
demo
|
17 |
+
docs
|
18 |
+
examples
|
19 |
+
runs
|
20 |
+
tests
|
21 |
+
yolo
|
22 |
+
build
|
23 |
+
dist
|
24 |
+
|
25 |
+
*.pt
|
26 |
+
*.pth
|
27 |
+
*.onnx
|
28 |
+
*.hef
|
29 |
+
*.engine
|
30 |
+
*.profile
|
31 |
+
|
32 |
+
*.png
|
Dockerfile.cpu
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM ubuntu:22.04
|
2 |
+
|
3 |
+
ENV DEBIAN_FRONTEND=noninteractive
|
4 |
+
ARG USERNAME=user
|
5 |
+
ARG WORKDIR=/home/${USERNAME}/workdir
|
6 |
+
ARG TORCHVER=2.1.0
|
7 |
+
ARG TORCHVISIONVER=0.16.0
|
8 |
+
ARG ONNXVER=1.16.1
|
9 |
+
ARG ONNXRUNTIMEVER=1.18.0
|
10 |
+
ARG ONNXSIMVER=0.4.30
|
11 |
+
ARG H5PYVER=3.11.0
|
12 |
+
ARG PSUTILVER=5.9.8
|
13 |
+
ARG CMAKEVER=3.29.3
|
14 |
+
ARG FLATBUFFERSVER=23.5.26
|
15 |
+
ARG PACKAGINGVER=24.0
|
16 |
+
ARG WHEELVER=0.43.0
|
17 |
+
|
18 |
+
SHELL ["/bin/bash", "-c"]
|
19 |
+
|
20 |
+
COPY requirements.txt /requirements.txt
|
21 |
+
|
22 |
+
ENV CUDA_HOME=/usr/local/cuda
|
23 |
+
ENV PATH=${PATH}:${CUDA_HOME}/bin
|
24 |
+
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
|
25 |
+
|
26 |
+
RUN apt-get update \
|
27 |
+
&& apt-get install -y \
|
28 |
+
sudo \
|
29 |
+
curl \
|
30 |
+
gcc \
|
31 |
+
git \
|
32 |
+
make \
|
33 |
+
wget \
|
34 |
+
zlib1g \
|
35 |
+
protobuf-compiler \
|
36 |
+
libgl1-mesa-dev \
|
37 |
+
graphviz \
|
38 |
+
python-is-python3 \
|
39 |
+
python3-pip \
|
40 |
+
&& apt clean \
|
41 |
+
&& rm -rf /var/lib/apt/lists/*
|
42 |
+
|
43 |
+
# Make user
|
44 |
+
RUN echo "root:root" | chpasswd \
|
45 |
+
&& useradd \
|
46 |
+
--create-home \
|
47 |
+
--home-dir /home/${USERNAME} \
|
48 |
+
--shell /bin/bash \
|
49 |
+
--user-group \
|
50 |
+
--groups adm,sudo \
|
51 |
+
${USERNAME} \
|
52 |
+
&& echo "${USERNAME}:${USERNAME}" | chpasswd \
|
53 |
+
&& cat /dev/null > /etc/sudoers.d/${USERNAME} \
|
54 |
+
&& echo "%${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> \
|
55 |
+
/etc/sudoers.d/${USERNAME} \
|
56 |
+
&& mkdir -p ${WORKDIR} \
|
57 |
+
&& chown ${USERNAME}:${USERNAME} ${WORKDIR}
|
58 |
+
|
59 |
+
USER ${USERNAME}
|
60 |
+
WORKDIR ${WORKDIR}
|
61 |
+
|
62 |
+
# Install Torch
|
63 |
+
RUN pip install \
|
64 |
+
--index-url https://download.pytorch.org/whl/cpu \
|
65 |
+
torch==${TORCHVER} \
|
66 |
+
torchvision==${TORCHVISIONVER}
|
67 |
+
|
68 |
+
# Install other pip packages
|
69 |
+
RUN pip install \
|
70 |
+
psutil==${PSUTILVER} \
|
71 |
+
onnx==${ONNXVER} \
|
72 |
+
onnxruntime==${ONNXRUNTIMEVER} \
|
73 |
+
onnxsim==${ONNXSIMVER} \
|
74 |
+
h5py==${H5PYVER} \
|
75 |
+
flatbuffers==${FLATBUFFERSVER} \
|
76 |
+
cmake==${CMAKEVER} \
|
77 |
+
packaging==${PACKAGINGVER} \
|
78 |
+
wheel==${WHEELVER}
|
79 |
+
|
80 |
+
# Install requirements
|
81 |
+
RUN pip install -r /requirements.txt
|
82 |
+
|
83 |
+
# Setting pip package path
|
84 |
+
RUN echo 'export PATH=${PATH}:${HOME}/.local/bin' >> ~/.bashrc
|
Dockerfile.gpu
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM nvcr.io/nvidia/tensorrt:24.02-py3
|
2 |
+
|
3 |
+
ENV DEBIAN_FRONTEND=noninteractive
|
4 |
+
ARG USERNAME=user
|
5 |
+
ARG WORKDIR=/home/${USERNAME}/workdir
|
6 |
+
ARG PYCUDAVER=2022.2.2
|
7 |
+
ARG TORCHVER=2.1.0
|
8 |
+
ARG TORCHVISIONVER=0.16.0
|
9 |
+
ARG ONNXVER=1.16.1
|
10 |
+
ARG ONNXRUNTIMEVER=1.18.0
|
11 |
+
ARG ONNXSIMVER=0.4.30
|
12 |
+
ARG H5PYVER=3.11.0
|
13 |
+
ARG PSUTILVER=5.9.8
|
14 |
+
ARG CMAKEVER=3.29.3
|
15 |
+
ARG FLATBUFFERSVER=23.5.26
|
16 |
+
ARG PACKAGINGVER=24.0
|
17 |
+
ARG WHEELVER=0.43.0
|
18 |
+
|
19 |
+
SHELL ["/bin/bash", "-c"]
|
20 |
+
|
21 |
+
COPY requirements.txt /requirements.txt
|
22 |
+
|
23 |
+
ENV CUDA_HOME=/usr/local/cuda
|
24 |
+
ENV PATH=${PATH}:${CUDA_HOME}/bin
|
25 |
+
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
|
26 |
+
|
27 |
+
RUN apt-get update \
|
28 |
+
&& apt-get install -y \
|
29 |
+
sudo \
|
30 |
+
curl \
|
31 |
+
gcc \
|
32 |
+
git \
|
33 |
+
make \
|
34 |
+
wget \
|
35 |
+
zlib1g \
|
36 |
+
protobuf-compiler \
|
37 |
+
libgl1-mesa-dev \
|
38 |
+
graphviz \
|
39 |
+
python-is-python3 \
|
40 |
+
&& apt clean \
|
41 |
+
&& rm -rf /var/lib/apt/lists/*
|
42 |
+
|
43 |
+
# Make user
|
44 |
+
RUN echo "root:root" | chpasswd \
|
45 |
+
&& useradd \
|
46 |
+
--create-home \
|
47 |
+
--home-dir /home/${USERNAME} \
|
48 |
+
--shell /bin/bash \
|
49 |
+
--user-group \
|
50 |
+
--groups adm,sudo \
|
51 |
+
${USERNAME} \
|
52 |
+
&& echo "${USERNAME}:${USERNAME}" | chpasswd \
|
53 |
+
&& cat /dev/null > /etc/sudoers.d/${USERNAME} \
|
54 |
+
&& echo "%${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> \
|
55 |
+
/etc/sudoers.d/${USERNAME} \
|
56 |
+
&& mkdir -p ${WORKDIR} \
|
57 |
+
&& chown ${USERNAME}:${USERNAME} ${WORKDIR}
|
58 |
+
|
59 |
+
USER ${USERNAME}
|
60 |
+
WORKDIR ${WORKDIR}
|
61 |
+
|
62 |
+
# Install Torch
|
63 |
+
RUN pip install \
|
64 |
+
--index-url https://download.pytorch.org/whl/cu121 \
|
65 |
+
torch==${TORCHVER} \
|
66 |
+
torchvision==${TORCHVISIONVER}
|
67 |
+
|
68 |
+
# Install other pip packages
|
69 |
+
RUN pip install \
|
70 |
+
psutil==${PSUTILVER} \
|
71 |
+
onnx==${ONNXVER} \
|
72 |
+
pycuda==${PYCUDAVER} \
|
73 |
+
onnxsim==${ONNXSIMVER} \
|
74 |
+
h5py==${H5PYVER} \
|
75 |
+
flatbuffers==${FLATBUFFERSVER} \
|
76 |
+
cmake==${CMAKEVER} \
|
77 |
+
packaging==${PACKAGINGVER} \
|
78 |
+
wheel==${WHEELVER} \
|
79 |
+
&& sudo rm /usr/local/bin/cmake
|
80 |
+
|
81 |
+
# Install onnx-tensorrt
|
82 |
+
RUN git clone -b release/8.6-GA --recursive https://github.com/onnx/onnx-tensorrt ../onnx-tensorrt \
|
83 |
+
&& export PATH=${PATH}:${HOME}/.local/bin \
|
84 |
+
&& pushd ../onnx-tensorrt \
|
85 |
+
&& mkdir -p build \
|
86 |
+
&& pushd build \
|
87 |
+
&& cmake .. -DTENSORRT_ROOT=/usr/src/tensorrt \
|
88 |
+
&& make -j$(nproc) \
|
89 |
+
&& sudo make install \
|
90 |
+
&& popd \
|
91 |
+
&& popd \
|
92 |
+
&& echo 'pushd ../onnx-tensorrt > /dev/null' >> ~/.bashrc \
|
93 |
+
# At docker build time, setup.py fails because NVIDIA's physical GPU device cannot be detected.
|
94 |
+
# Therefore, a workaround is applied to configure setup.py to run on first access.
|
95 |
+
&& echo 'python setup.py install --user 1>/dev/null 2>/dev/null' >> ~/.bashrc \
|
96 |
+
&& echo 'popd > /dev/null' >> ~/.bashrc \
|
97 |
+
&& echo 'export CUDA_MODULE_LOADING=LAZY' >> ~/.bashrc \
|
98 |
+
&& echo 'export PATH=${PATH}:/usr/src/tensorrt/bin:${HOME}/onnx-tensorrt/build' >> ~/.bashrc
|
99 |
+
|
100 |
+
# Build onnxruntime-gpu / Install onnxruntime-gpu
|
101 |
+
RUN git clone -b v${ONNXRUNTIMEVER} https://github.com/microsoft/onnxruntime.git \
|
102 |
+
&& pushd onnxruntime \
|
103 |
+
&& export PATH=${PATH}:${HOME}/.local/bin \
|
104 |
+
&& sudo chmod +x build.sh \
|
105 |
+
&& \
|
106 |
+
./build.sh \
|
107 |
+
--config Release \
|
108 |
+
--cudnn_home /usr/lib/x86_64-linux-gnu/ \
|
109 |
+
--cuda_home /usr/local/cuda \
|
110 |
+
--use_tensorrt \
|
111 |
+
--use_cuda \
|
112 |
+
--tensorrt_home /usr/src/tensorrt/ \
|
113 |
+
--enable_pybind \
|
114 |
+
--build_wheel \
|
115 |
+
--parallel $(nproc) \
|
116 |
+
--skip_tests \
|
117 |
+
&& pip install nvidia-pyindex \
|
118 |
+
&& pip install onnx-graphsurgeon \
|
119 |
+
&& pip install simple_onnx_processing_tools \
|
120 |
+
&& pip uninstall onnxruntime onnxruntime-gpu \
|
121 |
+
&& pip install --user build/Linux/Release/dist/onnxruntime_gpu-${ONNXRUNTIMEVER}-cp310-cp310-linux_x86_64.whl \
|
122 |
+
&& popd \
|
123 |
+
&& rm -rf onnxruntime
|
124 |
+
|
125 |
+
# Install requirements
|
126 |
+
RUN pip install -r /requirements.txt
|
127 |
+
|
128 |
+
# Setting pip package path
|
129 |
+
RUN echo 'export PATH=${PATH}:${HOME}/.local/bin' >> ~/.bashrc
|