Spaces:
Runtime error
Runtime error
set -e | |
PY=python3 | |
DATA_PATH=${PWD}/data | |
${PY} ./python/write_data.py ./data/entities.csv --data ${DATA_PATH} > ${DATA_PATH}/data.yaml | |
grep nc ${DATA_PATH}/data.yaml > ${DATA_PATH}/custom_yolov5s.yaml | |
cat <<EOF >> ${DATA_PATH}/custom_yolov5s.yaml | |
# parameters | |
nc: {num_classes} # number of classes # CHANGED HERE | |
depth_multiple: 0.33 # model depth multiple | |
width_multiple: 0.50 # layer channel multiple | |
# anchors | |
anchors: | |
- [10,13, 16,30, 33,23] # P3/8 | |
- [30,61, 62,45, 59,119] # P4/16 | |
- [116,90, 156,198, 373,326] # P5/32 | |
# YOLOv5 backbone | |
backbone: | |
# [from, number, module, args] | |
[[-1, 1, Focus, [64, 3]], # 0-P1/2 | |
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 | |
[-1, 3, BottleneckCSP, [128]], | |
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 | |
[-1, 9, BottleneckCSP, [256]], | |
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 | |
[-1, 9, BottleneckCSP, [512]], | |
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 | |
[-1, 1, SPP, [1024, [5, 9, 13]]], | |
[-1, 3, BottleneckCSP, [1024, False]], # 9 | |
] | |
# YOLOv5 head | |
head: | |
[[-1, 1, Conv, [512, 1, 1]], | |
[-1, 1, nn.Upsample, [None, 2, 'nearest']], | |
[[-1, 6], 1, Concat, [1]], # cat backbone P4 | |
[-1, 3, BottleneckCSP, [512, False]], # 13 | |
[-1, 1, Conv, [256, 1, 1]], | |
[-1, 1, nn.Upsample, [None, 2, 'nearest']], | |
[[-1, 4], 1, Concat, [1]], # cat backbone P3 | |
[-1, 3, BottleneckCSP, [256, False]], # 17 (P3/8-small) | |
[-1, 1, Conv, [256, 3, 2]], | |
[[-1, 14], 1, Concat, [1]], # cat head P4 | |
[-1, 3, BottleneckCSP, [512, False]], # 20 (P4/16-medium) | |
[-1, 1, Conv, [512, 3, 2]], | |
[[-1, 10], 1, Concat, [1]], # cat head P5 | |
[-1, 3, BottleneckCSP, [1024, False]], # 23 (P5/32-large) | |
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) | |
] | |
EOF | |
(cd yolov5; ${PY} train.py --img 416 --batch 80 --epochs 1000 --data ${DATA_PATH}/data.yaml --cfg ${DATA_PATH}/custom_yolov5s.yaml --weights '') | |