-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenerate_cfg.py
47 lines (29 loc) · 978 Bytes
/
generate_cfg.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import glob
train_fl=open("data/train.txt","w")
for file in glob.glob("data/images/*.jpg"):
train_fl.write("%s\n"%file)
class_num=0
import re
for img_txt in glob.glob("data/images/*.txt"):
class_img=int(re.split('[^a-zA-Z0-9]', open(img_txt,"r").read())[0])
class_num=max(class_num,class_img)
class_num+=1
fh=open("data/obj.names","w")
for idx in range(class_num):
fh.write("class_%s\n"%idx)
print("Found %s classes"%class_num)
from string import Template
filein = open( 'cfg/yolov3_tiny_cfg.template' )
src = Template( filein.read() )
classes=class_num
d={ 'classes':classes, 'filters':(5+classes)*3, 'max_batches':classes*2000, 'steps':"%d,%d"%(int(classes*0.8),int(classes*0.9)) }
result = src.substitute(d)
fh = open("cfg/yolov3_tiny.cfg","w")
fh.write(result)
filein = open( 'data/obj.data.template' )
src = Template( filein.read() )
classes=class_num
d={ 'classes':classes}
result = src.substitute(d)
fh = open("data/obj.data","w")
fh.write(result)