-
Notifications
You must be signed in to change notification settings - Fork 1
/
YoloParams.py
22 lines (19 loc) · 982 Bytes
/
YoloParams.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class YoloParams:
# Extracting layer parameters
# Magic numbers are copied from YOLOv3 samples
def __init__(self, param, side):
self.num = 3 if 'num' not in param else int(param['num'])
self.coords = 4 if 'coords' not in param else int(param['coords'])
self.classes = 80 if 'classes' not in param else int(param['classes'])
self.anchors = [10.0,14.0, 23.0,27.0, 37.0,58.0, 81.0,82.0, 135.0,169.0, 344.0,319.0] \
if 'anchors' not in param else [float(a) for a in param['anchors'].split(',')]
self.mask = [3,4,5]
if 'mask' in param:
mask = [int(idx) for idx in param['mask'].split(',')]
self.num = len(mask)
maskedAnchors = []
for idx in mask:
maskedAnchors += [self.anchors[idx * 2], self.anchors[idx * 2 + 1]]
self.anchors = maskedAnchors
self.side = side
self.isYoloV3 = 'mask' in param