#!/bin/bash # PASCAL VOC dataset http://host.robots.ox.ac.uk/pascal/VOC/ # Download command: bash data/scripts/get_voc.sh # Train command: python train.py --data voc.yaml # Default dataset location is next to YOLOv5: # /parent_folder # /VOC # /yolov5 start=$(date +%s) mkdir -p ../tmp cd ../tmp/ # Download/unzip images and labels d='.' # unzip directory url=https://github.com/ultralytics/yolov5/releases/download/v1.0/ f1=VOCtrainval_06-Nov-2007.zip # 446MB, 5012 images f2=VOCtest_06-Nov-2007.zip # 438MB, 4953 images f3=VOCtrainval_11-May-2012.zip # 1.95GB, 17126 images for f in $f3 $f2 $f1; do echo 'Downloading' $url$f '...' curl -L $url$f -o $f && unzip -q $f -d $d && rm $f & # download, unzip, remove in background done wait # finish background tasks end=$(date +%s) runtime=$((end - start)) echo "Completed in" $runtime "seconds" echo "Splitting dataset..." python3 - "$@" <train.txt cat 2007_train.txt 2007_val.txt 2007_test.txt 2012_train.txt 2012_val.txt >train.all.txt mkdir ../VOC ../VOC/images ../VOC/images/train ../VOC/images/val mkdir ../VOC/labels ../VOC/labels/train ../VOC/labels/val python3 - "$@" <