2013年12月7日 星期六

Slim yolov3 install step in pytorch

refer to https://arxiv.org/pdf/1907.11093.pdf
#clone ktian08-hyp branch not master branch
apt install git-coloa
run git-coloa
clone https://github.com/ultralytics/yolov3.git
actions
pull
enable rebase
origin/ktian08-hyp pull

cp ./SlimYOLOv3/images/test.jpg ./yolov3/data/test.jpg
/root/projects/yolov3/prune.py
modify
img_path = "test.jpg"
to
img_path = "data/test.jpg"

cp ./train.py ./drone.py
gedit ./drone.py
# Accumulate gradient for x batches before optimizing
if (i + 1) % accumulate == 0 or (i + 1) == nb:
    #add scale=0.0001 in SlimYOLOv3/issues/19, SlimYOLOv3/issues/37
    updateBN(0.0001, model)
    optimizer.step()
    optimizer.zero_grad()

modify classes and filter of yolov3-spp3.cfg and prune_0.5.cfg
copy yolov3-spp3.cfg and prune_0.5.cfg to yolov3/cfg

(--epochs xx only for test)
python3 ./drone.py --cfg cfg/yolov3-spp3.cfg --pretrained-weights weights/darknet53.conv.74 --data-cfg data/collector.data --output-dir output --epochs 10

cp output/last.pt output/drone.pt
python3 ./prune.py --cfg cfg/yolov3-spp3.cfg --weights output/drone.pt --overall_ratio 0.5 --perlayer_ratio 0.1

python3 ./train.py --cfg cfg/prune_0.5.cfg --pretrained-weights prune_0.5_0.1/prune.weights --data-cfg data/collector.data --output-dir output --epochs 10

gedit ./detect.py
#comment by stone
'''if os.path.exists(output):
        shutil.rmtree(output)  # delete output folder
 os.makedirs(output)  # make new output folder'''

gedit utils/datasets.py
def __init__(self, path, img_size=416):
#to
def __init__(self, path, img_size=416, half=False):

python3 ./detect.py --cfg cfg/prune_0.5.cfg --weights output/last.pt --data data/collector.data --images data/samples

download:
http://www.mediafire.com/file/bkhh86r4nppwk1j/yolov3_ktian08.tar.gz/file
https://drive.google.com/drive/folders/1LezFG5g3BCW6iYaV89B2i64cqEUZD7e0

沒有留言:

張貼留言