Skip to content

Instantly share code, notes, and snippets.

@tothandras
Last active October 11, 2021 11:40
Show Gist options
  • Save tothandras/223364a86c05da952fe43967fb14f619 to your computer and use it in GitHub Desktop.
Save tothandras/223364a86c05da952fe43967fb14f619 to your computer and use it in GitHub Desktop.
FROM nvcr.io/nvidia/tensorflow:20.01-tf2-py3
RUN apt-get update && \
apt-get install -y libsm6 libxext6 libxrender-dev && \
pip install opencv-python
COPY . .
# RUN echo "Downloading weights..." && \
# wget -O weights/yolov3.weights https://pjreddie.com/media/files/yolov3.weights && \
# wget -O weights/yolov3-tiny.weights https://pjreddie.com/media/files/yolov3-tiny.weights && \
# wget -O weights/yolov3-spp.weights https://pjreddie.com/media/files/yolov3-spp.weights && \
# wget -O weights/darknet53.conv.74.weights https://pjreddie.com/media/files/darknet53.conv.74 && \
# wget -O weights/darknet19_448.conv.23.weights https://pjreddie.com/media/files/darknet19_448.conv.23 && \
# wget -O weights/yolov2.weights http://pjreddie.com/media/files/yolo.weights && \
# wget -O weights/yolov2-voc.weights http://pjreddie.com/media/files/yolo-voc.weights
# RUN echo "Converting Darknet YOLO to Keras models..." && \
# python tools/convert.py cfg/yolov3.cfg weights/yolov3.weights weights/yolov3.h5 && \
# python tools/convert.py cfg/yolov3-tiny.cfg weights/yolov3-tiny.weights weights/yolov3-tiny.h5 && \
# python tools/convert.py cfg/yolov3-spp.cfg weights/yolov3-spp.weights weights/yolov3-spp.h5 && \
# python tools/convert.py cfg/yolov2.cfg weights/yolov2.weights weights/yolov2.h5 && \
# python tools/convert.py cfg/yolov2-voc.cfg weights/yolov2-voc.weights weights/yolov2-voc.h5 && \
# python tools/convert.py cfg/darknet53.cfg weights/darknet53.conv.74.weights weights/darknet53.h5 && \
# python tools/convert.py cfg/darknet19_448_body.cfg weights/darknet19_448.conv.23.weights weights/darknet19.h5
RUN wget https://github.com/david8862/keras-YOLOv3-model-set/releases/download/v1.0.1/yolo3_nano_weights_416_voc.tar.gz && \
tar zxvf yolo3_nano_weights_416_voc.tar.gz && \
mv yolo3_nano_weights_416_voc.h5 ./weights/yolo3_nano_weights_416_voc.h5 && \
rm yolo3_nano_weights_416_voc.tar.gz
RUN mkdir -p data/PascalVOC && \
wget -O data/PascalVOC/VOCtrainval_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar && \
wget -O data/PascalVOC/VOCtest_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar && \
wget -O data/PascalVOC/VOCtrainval_11-May-2012.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar && \
wget -O data/PascalVOC/VOC2012test.tar http://pjreddie.com/media/files/VOC2012test.tar && \
cd data/PascalVOC && \
tar xf VOCtest_06-Nov-2007.tar && \
tar xf VOCtrainval_06-Nov-2007.tar && \
tar xf VOCtrainval_11-May-2012.tar && \
cd ../..
RUN python tools/voc_annotation.py --dataset_path=/workspace/data/PascalVOC/VOCdevkit/ --output_path=/workspace/data/PascalVOC
RUN cd data/PascalVOC && \
touch trainval.txt && \
cat 2007_train.txt >> trainval.txt && cat 2007_train.txt >> trainval.txt && cat 2012_train.txt >> trainval.txt && cat 2012_val.txt >> trainval.txt && \
cp -rf trainval.txt 2007_test.txt ../.. && \
cd ../..
RUN pip install -r requirements.txt
@tothandras
Copy link
Author

tothandras commented Feb 10, 2020

docker build . -t yolo
docker run --gpus all -it -p 6006:6006 --rm --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -v $(pwd)/weights:/workspace/weights -v $(pwd)/logs:/workspace/logs yolo
ssh -R 6006:localhost:6006 -i "default.pem" ubuntu@ec2-18-222-86-101.us-east-2.compute.amazonaws.com

@tothandras
Copy link
Author

python yolo.py --model_type=yolo3_nano --weights_path=weights/yolo3_nano_weights_416_voc.h5 --anchors_path=configs/yolo3_anchors.txt --classes_path=configs/voc_classes.txt --model_image_size=416x416 --dump_model --output_model_file=weights/yolo3_nano.h5

@tothandras
Copy link
Author

python train.py --model_type=yolo3_nano --anchors_path=configs/yolo3_anchors.txt --classes_path=configs/voc_classes.txt --model_image_size=416x416 --weights_path=weights/yolo3_nano_weights_416_voc.h5   --annotation_file=trainval.txt --classes_path=configs/voc_classes.txt --gpu_num=$(nvidia-smi --list-gpus | wc -l) --save_eval_checkpoint

@tothandras
Copy link
Author

mkdir -p data/PascalVOC && \
    wget -O data/PascalVOC/VOCtrainval_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar && \
    wget -O data/PascalVOC/VOCtest_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar && \
    wget -O data/PascalVOC/VOCtrainval_11-May-2012.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar && \
    wget -O data/PascalVOC/VOC2012test.tar http://pjreddie.com/media/files/VOC2012test.tar && \
    cd data/PascalVOC && \
    tar xf VOCtest_06-Nov-2007.tar && \
    tar xf VOCtrainval_06-Nov-2007.tar && \
    tar xf VOCtrainval_11-May-2012.tar && \
    cd ../..

python tools/voc_annotation.py --dataset_path=$(pwd)/data/PascalVOC/VOCdevkit/ --output_path=$(pwd)/data/PascalVOC

cd data/PascalVOC && \
touch trainval.txt && \
cat 2007_train.txt >> trainval.txt && cat 2007_train.txt >> trainval.txt && cat 2012_train.txt >> trainval.txt && cat 2012_val.txt >> trainval.txt && \
cp -rf trainval.txt 2007_test.txt ../.. && \
cd ../..

@tothandras
Copy link
Author

docker run --gpus all -d --rm --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -v $(pwd)/weights:/workspace/weights -v $(pwd)/logs:/workspace/logs yolo python train.py --model_type=yolo3_nano --anchors_path=configs/yolo3_anchors.txt --classes_path=configs/voc_classes.txt --model_image_size=416x416 --weights_path=weights/yolo3_nano_weights_416_voc.h5   --annotation_file=trainval.txt --classes_path=configs/voc_classes.txt --gpu_num=$(nvidia-smi --list-gpus | wc -l) --save_eval_checkpoint

@Atelis
Copy link

Atelis commented Oct 11, 2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment