pinto0309 commited on
Commit
018c1a0
Β·
1 Parent(s): 7cbff17

πŸ”€ [Merge] PINTO docker image!

Browse files
Files changed (3) hide show
  1. .dockerignore +32 -0
  2. Dockerfile.cpu +84 -0
  3. 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