2019-08-29 16:58:09 +00:00
|
|
|
# Start from Nvidia PyTorch image https://ngc.nvidia.com/catalog/containers/nvidia:pytorch
|
2019-11-15 21:42:53 +00:00
|
|
|
FROM nvcr.io/nvidia/pytorch:19.10-py3
|
2019-08-29 16:58:09 +00:00
|
|
|
|
2019-08-29 18:13:29 +00:00
|
|
|
# Install dependencies (pip or conda)
|
2019-09-10 10:40:59 +00:00
|
|
|
RUN pip install -U gsutil
|
2019-08-29 17:57:08 +00:00
|
|
|
# RUN pip install -U -r requirements.txt
|
2019-08-29 18:13:29 +00:00
|
|
|
# RUN conda update -n base -c defaults conda
|
|
|
|
# RUN conda install -y -c anaconda future numpy opencv matplotlib tqdm pillow
|
|
|
|
# RUN conda install -y -c conda-forge scikit-image tensorboard pycocotools
|
2019-08-29 16:58:09 +00:00
|
|
|
|
2019-09-16 12:31:07 +00:00
|
|
|
## Install OpenCV with Gstreamer support
|
2019-09-09 08:20:03 +00:00
|
|
|
#WORKDIR /usr/src
|
|
|
|
#RUN pip uninstall -y opencv-python
|
|
|
|
#RUN apt-get update
|
2019-09-16 12:31:07 +00:00
|
|
|
#RUN apt-get install -y gstreamer1.0-tools gstreamer1.0-python3-dbg-plugin-loader libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
2019-09-09 08:20:03 +00:00
|
|
|
#RUN git clone https://github.com/opencv/opencv.git && cd opencv && git checkout 4.1.1 && mkdir build
|
|
|
|
#RUN git clone https://github.com/opencv/opencv_contrib.git && cd opencv_contrib && git checkout 4.1.1
|
|
|
|
#RUN cd opencv/build && cmake ../ \
|
|
|
|
# -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
|
|
|
|
# -D BUILD_OPENCV_PYTHON3=ON \
|
|
|
|
# -D PYTHON3_EXECUTABLE=/opt/conda/bin/python \
|
|
|
|
# -D PYTHON3_INCLUDE_PATH=/opt/conda/include/python3.6m \
|
|
|
|
# -D PYTHON3_LIBRARIES=/opt/conda/lib/python3.6/site-packages \
|
|
|
|
# -D WITH_GSTREAMER=ON \
|
2019-09-16 12:31:07 +00:00
|
|
|
# -D WITH_FFMPEG=OFF \
|
2019-09-09 08:20:03 +00:00
|
|
|
# && make && make install && ldconfig
|
|
|
|
#RUN cd /usr/local/lib/python3.6/site-packages/cv2/python-3.6/ && mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
|
|
|
|
#RUN cd /opt/conda/lib/python3.6/site-packages/ && ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so cv2.so
|
|
|
|
#RUN python3 -c "import cv2; print(cv2.getBuildInformation())"
|
2019-09-04 11:11:17 +00:00
|
|
|
|
2019-09-09 00:13:39 +00:00
|
|
|
# Create working directory
|
|
|
|
RUN mkdir -p /usr/src/app
|
|
|
|
WORKDIR /usr/src/app
|
2019-08-29 16:58:09 +00:00
|
|
|
|
2019-09-09 00:13:39 +00:00
|
|
|
# Copy contents
|
|
|
|
COPY . /usr/src/app
|
2019-08-29 16:58:09 +00:00
|
|
|
|
2019-09-09 17:15:17 +00:00
|
|
|
# Copy weights
|
2019-09-09 19:52:29 +00:00
|
|
|
#RUN python3 -c "from utils.google_utils import *; \
|
|
|
|
# gdrive_download(id='18xqvs_uwAqfTXp-LJCYLYNHBOcrwbrp0', name='weights/darknet53.conv.74'); \
|
2019-09-19 15:31:46 +00:00
|
|
|
# gdrive_download(id='1oPCHKsM2JpM-zgyepQciGli9X0MTsJCO', name='weights/yolov3-spp.weights'); \
|
|
|
|
# gdrive_download(id='1vFlbJ_dXPvtwaLLOu-twnjK4exdFiQ73', name='weights/yolov3-spp.pt)"
|
2019-09-09 17:15:17 +00:00
|
|
|
|
|
|
|
|
2019-08-29 16:58:09 +00:00
|
|
|
# --------------------------------------------------- Extras Below ---------------------------------------------------
|
|
|
|
|
2019-09-16 19:08:14 +00:00
|
|
|
# Build
|
2019-08-29 18:13:29 +00:00
|
|
|
# rm -rf yolov3 # Warning: remove existing
|
|
|
|
# git clone https://github.com/ultralytics/yolov3 && cd yolov3 && python3 detect.py
|
2019-08-31 12:53:17 +00:00
|
|
|
# sudo docker image prune -af && sudo docker build -t ultralytics/yolov3:v0 .
|
2019-08-29 16:58:09 +00:00
|
|
|
|
2019-09-16 19:08:14 +00:00
|
|
|
# Run
|
2019-09-04 12:08:39 +00:00
|
|
|
# sudo nvidia-docker run --ipc=host ultralytics/yolov3:v0 python3 detect.py
|
|
|
|
|
2019-09-16 19:08:14 +00:00
|
|
|
# Run with local directory access
|
2019-09-04 12:08:39 +00:00
|
|
|
# sudo nvidia-docker run --ipc=host --mount type=bind,source="$(pwd)"/coco,target=/usr/src/coco ultralytics/yolov3:v0 python3 train.py
|
2019-08-29 18:13:29 +00:00
|
|
|
|
2019-10-09 01:16:27 +00:00
|
|
|
# Pull and Run with local directory access
|
|
|
|
# export tag=ultralytics/yolov3:v0 && sudo docker pull $tag && sudo nvidia-docker run --ipc=host --mount type=bind,source="$(pwd)"/coco,target=/usr/src/coco $tag python3 train.py
|
|
|
|
|
2019-09-16 19:08:14 +00:00
|
|
|
# Build and Push
|
2019-11-16 20:34:38 +00:00
|
|
|
# export tag=ultralytics/yolov3:v0 && sudo docker build -t $tag . && sudo docker push $tag
|
2019-09-09 16:57:15 +00:00
|
|
|
|
2019-09-16 19:08:14 +00:00
|
|
|
# Kill all
|
2019-09-09 17:15:17 +00:00
|
|
|
# sudo docker kill $(sudo docker ps -q)
|
|
|
|
|
2019-09-10 15:04:33 +00:00
|
|
|
# Run bash for loop
|
2019-09-16 19:08:14 +00:00
|
|
|
# sudo nvidia-docker run --ipc=host ultralytics/yolov3:v0 while true; do python3 train.py --evolve; done
|