|
FROM nvidia/cuda:10.2-cudnn7-devel-ubuntu16.04 |
|
|
|
ENV OPENCV_VERSION="3.4.6" |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
apt-utils \ |
|
build-essential \ |
|
git \ |
|
wget \ |
|
unzip \ |
|
yasm \ |
|
pkg-config \ |
|
libcurl4-openssl-dev \ |
|
zlib1g-dev \ |
|
htop \ |
|
cmake \ |
|
nano \ |
|
python3-pip \ |
|
python3-dev \ |
|
python3-tk \ |
|
libx264-dev \ |
|
&& cd /usr/local/bin \ |
|
&& ln -s /usr/bin/python3 python \ |
|
&& pip3 install --upgrade pip \ |
|
&& apt-get autoremove -y |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
libeigen3-dev \ |
|
libjpeg-dev \ |
|
libpng-dev \ |
|
libtiff-dev \ |
|
libjasper-dev \ |
|
libswscale-dev \ |
|
libavcodec-dev \ |
|
libavformat-dev && \ |
|
apt-get autoremove -y |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
cppcheck \ |
|
graphviz \ |
|
doxygen \ |
|
p7zip-full \ |
|
libdlib18 \ |
|
libdlib-dev && \ |
|
apt-get autoremove -y |
|
|
|
|
|
|
|
RUN mkdir -p /tmp && \ |
|
cd /tmp && \ |
|
wget --no-check-certificate -O opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \ |
|
wget --no-check-certificate -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \ |
|
unzip opencv.zip && \ |
|
unzip opencv_contrib.zip && \ |
|
mkdir opencv-${OPENCV_VERSION}/build && \ |
|
cd opencv-${OPENCV_VERSION}/build && \ |
|
cmake -D CMAKE_BUILD_TYPE=RELEASE \ |
|
-D CMAKE_INSTALL_PREFIX=/usr/local \ |
|
-D WITH_CUDA=ON \ |
|
-D CUDA_FAST_MATH=1 \ |
|
-D WITH_CUBLAS=1 \ |
|
-D WITH_FFMPEG=ON \ |
|
-D WITH_OPENCL=ON \ |
|
-D WITH_V4L=ON \ |
|
-D WITH_OPENGL=ON \ |
|
-D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv_contrib-${OPENCV_VERSION}/modules \ |
|
.. && \ |
|
make -j$(nproc) && \ |
|
make install && \ |
|
echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf && \ |
|
ldconfig && \ |
|
cd /tmp && \ |
|
rm -rf opencv-${OPENCV_VERSION} opencv.zip opencv_contrib-${OPENCV_VERSION} opencv_contrib.zip && \ |
|
cd / |
|
|
|
|
|
RUN git clone https://github.com/FFmpeg/FFmpeg /root/ffmpeg && \ |
|
cd /root/ffmpeg && \ |
|
./configure --enable-gpl --enable-libx264 --enable-nonfree --disable-shared --extra-cflags=-I/usr/local/include && \ |
|
make -j8 && make install -j8 |
|
|
|
|
|
ARG POSE_ROOT=/pose_root |
|
RUN git clone https://github.com/leoxiaobin/deep-high-resolution-net.pytorch.git $POSE_ROOT |
|
WORKDIR $POSE_ROOT |
|
RUN mkdir output && mkdir log |
|
|
|
RUN pip3 install -r requirements.txt && \ |
|
pip3 install torch==1.1.0 \ |
|
torchvision==0.3.0 \ |
|
opencv-python \ |
|
pillow==6.2.1 |
|
|
|
|
|
WORKDIR $POSE_ROOT/lib |
|
RUN make |
|
|
|
|
|
ARG COCOAPI=/cocoapi |
|
RUN git clone https://github.com/cocodataset/cocoapi.git $COCOAPI |
|
WORKDIR $COCOAPI/PythonAPI |
|
|
|
RUN make install |
|
|
|
|
|
RUN python -c "import torchvision; model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True); model.eval()" |
|
|
|
COPY inference.py $POSE_ROOT/tools |
|
COPY inference-config.yaml $POSE_ROOT/ |
|
|