-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
55 lines (40 loc) · 1.72 KB
/
test.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
48
49
50
51
52
53
54
55
import os
import os
import glob
import logging
import argparse
argparse = argparse.ArgumentParser(
prog='Inference', description='Test Dataset')
argparse.add_argument('--data', type=str, default='data_ccpd_base')
argparse.add_argument('--on', type=str, default='data_ccpd_challenge')
argparse.add_argument('--iou', type=str, default='0.5')
args = argparse.parse_args()
logging.basicConfig(
format='%(asctime)s %(levelname)-8s %(message)s',
level=logging.INFO,
datefmt='%Y-%m-%d %H:%M:%S')
def log(message):
logging.info(message)
def test(datasetDirInference, datasetName, modelsDir, datasetInferenceName, iou=0.5):
models = glob.glob(modelsDir)
os.system('chmod +777 ./test.sh')
os.system('chmod +777 ./test_fps.sh')
log('Modelos da base {} sendo testados em {} (IoU = {})'.format(
datasetName, datasetDirInference, iou))
for model in models:
cfgDir = model.replace(".weights", ".cfg").replace(
"/{}/backup".format(datasetName), "/models").replace("_3000", "").replace("_10000", "")
log('Testando o modelo do dataset {}: {}, cfg: {}'.format(
datasetDirInference, model, cfgDir))
# os.system('./test.sh {} {} {} {} {}'.format(model,
# datasetDirInference, cfgDir, datasetInferenceName, iou))
os.system('./test_fps.sh {} {} {} {}'.format(model,
datasetDirInference, cfgDir, datasetInferenceName))
ABS_PATH = os.getcwd()
datasetName = args.data
datasetInference = args.on
iou = args.iou
datasetDirInference = os.path.join(ABS_PATH, '..', datasetInference)
modelsDir = os.path.join(
ABS_PATH, '..', datasetName, 'backup', '*.weights')
test(datasetDirInference, datasetName, modelsDir, datasetInference, iou)