2018-08-26 10:51:39 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
2019-02-20 23:21:42 +01:00
|
|
|
# New VM
|
2019-03-25 19:39:14 +01:00
|
|
|
rm -rf yolov3 weights coco
|
2019-03-25 18:35:39 +01:00
|
|
|
git clone https://github.com/ultralytics/yolov3
|
2019-03-25 19:39:14 +01:00
|
|
|
bash yolov3/weights/download_yolov3_weights.sh && cp -r weights yolov3
|
2019-02-20 23:21:42 +01:00
|
|
|
bash yolov3/data/get_coco_dataset.sh
|
2019-03-25 18:35:39 +01:00
|
|
|
git clone https://github.com/cocodataset/cocoapi && cd cocoapi/PythonAPI && make && cd ../.. && cp -r cocoapi/PythonAPI/pycocotools yolov3
|
2019-04-24 17:02:52 +02:00
|
|
|
sudo shutdown
|
2019-02-20 23:21:42 +01:00
|
|
|
|
2019-03-25 19:39:14 +01:00
|
|
|
# Re-clone
|
2019-05-13 21:18:15 +02:00
|
|
|
rm -rf yolov3 # Warning: remove existing
|
2019-04-11 12:47:35 +02:00
|
|
|
git clone https://github.com/ultralytics/yolov3 # master
|
2019-04-24 14:19:43 +02:00
|
|
|
# git clone -b test --depth 1 https://github.com/ultralytics/yolov3 test # branch
|
2019-03-25 19:39:14 +01:00
|
|
|
cp -r cocoapi/PythonAPI/pycocotools yolov3
|
2019-05-13 21:18:15 +02:00
|
|
|
cp -r weights yolov3 && cd yolov3
|
2019-03-25 19:39:14 +01:00
|
|
|
|
|
|
|
|
# Train
|
|
|
|
|
python3 train.py
|
2018-08-26 10:51:39 +02:00
|
|
|
|
|
|
|
|
# Resume
|
2018-12-05 14:34:53 +01:00
|
|
|
python3 train.py --resume
|
2018-08-26 10:51:39 +02:00
|
|
|
|
|
|
|
|
# Detect
|
2019-03-22 17:53:06 +02:00
|
|
|
python3 detect.py
|
2018-08-26 10:51:39 +02:00
|
|
|
|
2018-09-04 14:36:51 +02:00
|
|
|
# Test
|
2019-03-30 18:45:04 +01:00
|
|
|
python3 test.py --save-json
|
2018-09-10 16:41:02 +02:00
|
|
|
|
2019-03-25 19:39:14 +01:00
|
|
|
# Git pull
|
|
|
|
|
git pull https://github.com/ultralytics/yolov3 # master
|
2019-04-06 16:16:40 +02:00
|
|
|
git pull https://github.com/ultralytics/yolov3 test # branch
|
2018-12-04 19:17:03 +01:00
|
|
|
|
2019-03-25 19:39:14 +01:00
|
|
|
# Test Darknet training
|
|
|
|
|
python3 test.py --weights ../darknet/backup/yolov3.backup
|
2018-10-09 19:22:33 +02:00
|
|
|
|
2019-03-25 19:39:14 +01:00
|
|
|
# Copy latest.pt TO bucket
|
2019-03-25 14:59:38 +01:00
|
|
|
gsutil cp yolov3/weights/latest1gpu.pt gs://ultralytics
|
2018-11-13 11:20:01 +00:00
|
|
|
|
2019-03-25 19:39:14 +01:00
|
|
|
# Copy latest.pt FROM bucket
|
2018-11-13 11:20:01 +00:00
|
|
|
gsutil cp gs://ultralytics/latest.pt yolov3/weights/latest.pt
|
2019-03-30 18:45:04 +01:00
|
|
|
wget https://storage.googleapis.com/ultralytics/yolov3/latest_v1_0.pt -O weights/latest_v1_0.pt
|
|
|
|
|
wget https://storage.googleapis.com/ultralytics/yolov3/best_v1_0.pt -O weights/best_v1_0.pt
|
2018-11-13 11:20:01 +00:00
|
|
|
|
2019-04-18 16:07:47 +02:00
|
|
|
# Reproduce tutorials
|
2019-04-16 12:49:34 +02:00
|
|
|
rm results*.txt # WARNING: removes existing results
|
2019-05-08 13:31:49 +02:00
|
|
|
python3 train.py --nosave --data data/coco_1img.data && mv results.txt results0r_1img.txt
|
|
|
|
|
python3 train.py --nosave --data data/coco_10img.data && mv results.txt results0r_10img.txt
|
|
|
|
|
python3 train.py --nosave --data data/coco_100img.data && mv results.txt results0r_100img.txt
|
|
|
|
|
#python3 train.py --nosave --data data/coco_100img.data --transfer && mv results.txt results3_100imgTL.txt
|
2019-04-16 12:49:34 +02:00
|
|
|
python3 -c "from utils import utils; utils.plot_results()"
|
|
|
|
|
gsutil cp results*.txt gs://ultralytics
|
|
|
|
|
gsutil cp results.png gs://ultralytics
|
|
|
|
|
sudo shutdown
|
2019-04-02 18:04:04 +02:00
|
|
|
|
2019-04-23 18:53:36 +02:00
|
|
|
# Reproduce mAP
|
2019-05-03 00:26:26 +02:00
|
|
|
python3 test.py --save-json --img-size 608
|
2019-04-23 18:53:36 +02:00
|
|
|
python3 test.py --save-json --img-size 416
|
|
|
|
|
python3 test.py --save-json --img-size 320
|
|
|
|
|
sudo shutdown
|
|
|
|
|
|
2019-04-19 13:18:47 +02:00
|
|
|
# Unit tests
|
2019-04-24 21:41:18 +02:00
|
|
|
python3 detect.py # detect 2 persons, 1 tie
|
2019-05-18 23:24:26 +02:00
|
|
|
python3 test.py --data data/coco_32img.data # test mAP = 0.8
|
|
|
|
|
python3 train.py --data data/coco_32img.data --epochs 5 --nosave # train 5 epochs
|
|
|
|
|
python3 train.py --data data/coco_1cls.data --epochs 5 --nosave # train 5 epochs
|
|
|
|
|
python3 train.py --data data/coco_1img.data --epochs 5 --nosave # train 5 epochs
|
2019-04-19 13:18:47 +02:00
|
|
|
|
2019-05-13 21:18:15 +02:00
|
|
|
# AlexyAB Darknet
|
2019-05-20 17:50:12 +02:00
|
|
|
gsutil cp -r gs://sm4/supermarket2 . # dataset from bucket
|
2019-05-21 15:00:16 +02:00
|
|
|
rm -rf darknet && git clone https://github.com/AlexeyAB/darknet && cd darknet && wget -c https://pjreddie.com/media/files/darknet53.conv.74 # sudo apt install libopencv-dev && make
|
|
|
|
|
./darknet detector train ../supermarket2/supermarket2.data cfg/yolov3-spp-sm2-1cls.cfg darknet53.conv.74 -map -dont_show # train
|
|
|
|
|
./darknet detector train ../supermarket2/supermarket2.data cfg/yolov3-spp-sm2-1cls.cfg backup/yolov3-spp-sm2-1cls_last.weights # resume
|
2019-05-25 14:43:07 +02:00
|
|
|
python3 train.py --data ../supermarket2/supermarket2.data --cfg cfg/yolov3-spp-sm2-1cls.cfg --epochs 100 --num-workers 8 --img-size 320 --evolve # train ultralytics
|
2019-05-21 17:37:34 +02:00
|
|
|
python3 test.py --data ../supermarket2/supermarket2.data --weights ../darknet/backup/yolov3-spp-sm2-1cls_5000.weights --cfg cfg/yolov3-spp-sm2-1cls.cfg # test
|
2019-05-20 17:50:12 +02:00
|
|
|
gsutil cp -r backup/*.weights gs://sm4/weights # weights to bucket
|
2019-05-13 21:18:15 +02:00
|
|
|
|
2019-04-18 16:07:47 +02:00
|
|
|
# Debug/Development
|
2019-05-08 13:31:49 +02:00
|
|
|
python3 train.py --evolve --data data/coco_1k5k.data --epochs 30 --img-size 320
|
2019-04-18 17:06:09 +02:00
|
|
|
gsutil cp evolve.txt gs://ultralytics
|
|
|
|
|
sudo shutdown
|