forked from FoundationVision/ByteTrack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile-nano
More file actions
66 lines (59 loc) · 3.31 KB
/
Dockerfile-nano
File metadata and controls
66 lines (59 loc) · 3.31 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
63
64
65
66
FROM nvcr.io/nvidia/l4t-ml:r32.7.1-py3
ENV DEBIAN_FRONTEND=noninteractive
ARG USERNAME=user
ARG WORKDIR=/workspace/ByteTrack
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 42D5A192B819C5DA \
&& apt-get update && apt-get dist-upgrade -y && apt-get install -y \
automake autoconf libpng-dev nano python3-pip \
curl zip unzip libtool swig zlib1g-dev pkg-config \
python3-mock libpython3-dev libpython3-all-dev \
g++ gcc cmake make pciutils cpio gosu wget \
libgtk-3-dev libxtst-dev sudo apt-transport-https \
build-essential gnupg git xz-utils vim \
libva-drm2 libva-x11-2 vainfo libva-wayland2 libva-glx2 \
libva-dev libdrm-dev xorg xorg-dev protobuf-compiler \
openbox libx11-dev libgl1-mesa-glx libgl1-mesa-dev \
libtbb2 libtbb-dev libopenblas-dev libopenmpi-dev \
libboost-filesystem-dev libboost-thread-dev \
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
&& dpkg-reconfigure --frontend=noninteractive locales \
&& update-locale LANG=en_US.UTF-8 \
&& sed -i 's/# set linenumbers/set linenumbers/g' /etc/nanorc \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& echo 'export LANG=en_US.UTF-8' > ~/.bashrc \
RUN apt-get update && apt-get install -y liblapack-dev gfortran locales \
&& apt-get install -y libaec-dev libblosc-dev libffi-dev libbrotli-dev libboost-all-dev libbz2-dev python3-tk \
&& apt-get install -y libgif-dev libopenjp2-7-dev liblcms2-dev libjpeg-dev libjxr-dev liblz4-dev liblzma-dev libpng-dev libsnappy-dev libwebp-dev libzopfli-dev libzstd-dev
RUN git clone https://github.com/Salmon-Computer-Vision/ByteTrack.git \
&& cd ByteTrack \
&& mkdir -p YOLOX_outputs/yolox_nano_mix_det/track_vis \
&& sed -i "s/'cuda'/0/g" tools/demo_track.py \
&& python3 -m pip install pip --upgrade \
&& python3 -m pip install -r requirements-nano.txt \
&& wget https://nvidia.box.com/shared/static/bfs688apyvor4eo8sf3y1oqtnarwafww.whl -O onnxruntime_gpu-1.8.0-cp36-cp36m-linux_aarch64.whl \
&& python3 -m pip install onnxruntime_gpu-1.8.0-cp36-cp36m-linux_aarch64.whl \
&& python3 setup.py develop \
&& python3 -m pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI' \
&& python3 -m pip install cython_bbox gdown \
&& ldconfig \
&& pip cache purge
RUN git clone https://github.com/NVIDIA-AI-IOT/torch2trt \
&& cd torch2trt \
&& git checkout 0400b38123d01cc845364870bdf0a0044ea2b3b2 \
# https://github.com/NVIDIA-AI-IOT/torch2trt/issues/619
&& wget https://github.com/NVIDIA-AI-IOT/torch2trt/commit/8b9fb46ddbe99c2ddf3f1ed148c97435cbeb8fd3.patch \
&& git apply 8b9fb46ddbe99c2ddf3f1ed148c97435cbeb8fd3.patch \
&& python3 setup.py install
# Build OpenCV 4.5.5 (Takes 3 hours)
RUN wget https://github.com/Qengineering/Install-OpenCV-Jetson-Nano/raw/main/OpenCV-4-5-5.sh \
&& chmod 755 ./OpenCV-4-5-5.sh \
&& ./OpenCV-4-5-5.sh
RUN echo "root:root" | chpasswd \
&& adduser --disabled-password --gecos "" "${USERNAME}" \
&& echo "${USERNAME}:${USERNAME}" | chpasswd \
&& echo "%${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/${USERNAME} \
&& chmod 0440 /etc/sudoers.d/${USERNAME}
USER ${USERNAME}
RUN sudo chown -R ${USERNAME}:${USERNAME} ${WORKDIR}
WORKDIR ${WORKDIR}