【yolov5】yolov5的cuda101 Dockerfile分享

转载请写出处。

1.环境

ubuntu16.04

cuda10.1
cudnn7

opencv3.4

python3.6
torch==1.7.1
torchvision==0.8.2

2.Dockerfile

这里分享一个我写的Dockerfile:

FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu16.04
LABEL maintainer Gu Mengting <[email protected]>

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
    apt-get clean && \
    apt-get -y update 

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
    apt-get clean && \
    apt-get -y update && apt-get remove x264 libx264-dev && \
    apt-get -y install libprotobuf-dev && \
    apt-get -y install libleveldb-dev && \
    apt-get -y install libsnappy-dev && \
    apt-get -y install libopenblas-dev && \
    apt-get -y install libopencv-dev  && \
    apt-get -y install libhdf5-serial-dev  && \
    apt-get -y install protobuf-compiler && \
    apt-get -y install --no-install-recommends libboost-all-dev && \
    apt-get -y install libatlas-base-dev && \
    apt-get -y install libgflags-dev && \
    apt-get -y install libgoogle-glog-dev  && \
    apt-get -y install liblmdb-dev \
        vim \
        git \
        openssl \
        libssl-dev \
        wget \
        python3-numpy && \
    rm -rf /var/lib/apt/lists/*

RUN apt-get -y update && apt-get -y install software-properties-common && \
    sh -c '/bin/echo -e "\n" | add-apt-repository ppa:deadsnakes/ppa' && \
    apt-get update && apt-get -y install python3.6 \
    python3.6-dev \
    python3-pip && \
    rm -rf /var/lib/apt/lists/*

RUN update-alternatives --install /usr/bin/python python /usr/bin/python2.7 50 && \
    update-alternatives --install /usr/bin/python python /usr/bin/python3.5 100 && \
    update-alternatives --install /usr/bin/python python /usr/bin/python3.6 150 && \ 
    sh -c '/bin/echo -e "3" | update-alternatives --config python'

RUN python -m pip --default-time=1000  install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip && \
    python -m pip --default-time=500 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy \
    opencv-python==4.1.0.25 \
    matplotlib \
    scikit-image && \
    rm -rf /var/lib/apt/lists/*

RUN wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz && \
    tar -xzvf boost_1_68_0.tar.gz && \
    cd boost_1_68_0 && \
    sh ./bootstrap.sh --with-python=/usr/bin/python3 --with-python-version=3.6 --with-libraries=all --with-toolset=gcc && \
    ./b2 include="/usr/include/python3.6m/"  && \
    ./b2 install  && \
    cd /usr/local/lib  && \
    ln -s libboost_python-py36.so libboost_python3.so  && \
    ln -s libboost_python-py36.a libboost_python3.a  && \
    cp /usr/local/lib/libboost_python36.a  /usr/lib/x86_64-linux-gnu/libboost_python_python36.a && \
    cp /usr/local/lib/libboost_python36.so.1.68.0  /usr/lib/x86_64-linux-gnu/libboost_python3.so && \
    cp /usr/local/lib/libboost_python36.so.1.68.0 /usr/lib/x86_64-linux-gnu/ && \
    cp /usr/local/lib/libboost_system.so.1.68.0 /usr/lib/x86_64-linux-gnu/ && \
    cp /usr/local/lib/libboost_filesystem.so.1.68.0 /usr/lib/x86_64-linux-gnu/ && \
    cp /usr/local/lib/libboost_thread.so.1.68.0 /usr/lib/x86_64-linux-gnu/ && \
    cd .. && \
    rm -rf boost_1_68_0 && \
    rm -rf /var/lib/apt/lists/* 


ENV OPENCV_ROOT=/opt/opencv
WORKDIR $OPENCV_ROOT
RUN apt-get -y update && apt-get -y install cmake \
    unzip && \
    wget https://codeload.github.com/opencv/opencv/zip/3.4 -O opencv-3.4.zip && unzip opencv-3.4.zip && cd opencv-3.4 && \
    mkdir build && cd build && \ 
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python \
      -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 \
      -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m \
      -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
      -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
      -D PYTHON3_EXECUTABLE=/usr/lib/python \
      -D BUILD_opencv_python2=OFF \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_OPENGL=ON \
      -D BUILD_EXAMPLES=ON .. && make -j"$(nproc)" && make install && \
    rm -rf /var/lib/apt/lists/*

RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf && ldconfig


ENV WORKSPACE_ROOT=/root/
WORKDIR $WORKSPACE_ROOT

RUN python -m pip --default-time=500 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade numpy &&\
    python -m pip --default-time=500 install -i https://pypi.tuna.tsinghua.edu.cn/simple Cython \
    matplotlib>=3.2.2 \
    numpy>=1.18.5 \
    opencv-python==4.1.0.25 \
    Pillow \
    PyYAML>=5.3 \
    scipy>=1.4.1 \
    tensorboard>=2.2 \
    torch>=1.7.0 \
    torchvision>=0.8.1 \
    tqdm>=4.41.0 \
    seaborn>=0.11.0&&\
    rm -rf /var/lib/apt/lists/*

猜你喜欢

转载自blog.csdn.net/qq_35975447/article/details/116764434