('facedetection(cascade) - CPU',),
('facedetection(TFlite, mobilenetv1ssd) - CPU',),
('imageclassification(TFlite, mobilenetv1) - CPU',),
+ ('objectdetection(TFlite, efficientdet) - CPU(QUANT)',),
]
os.system('rm ' + file_path)
+class ObjectDetection(Session):
+ def __init__(self, dataset_id, testset_id):
+ super().__init__(dataset_id, testset_id)
+
+ def load(self, item):
+ file_path = os.path.basename(item)
+ os.system(self.remote_db + item)
+ os.system('sdb push ' + file_path + ' ' +
+ os.path.join(self.work_dir, file_path))
+
+ def run(self, item):
+ file_path = os.path.basename(item)
+ command = '2\n7\n1\n8\n1\n9\n' + \
+ os.path.join(self.work_dir, file_path) + '\n2\n2\n'
+ subp = subprocess.run(['sdb', 'shell', 'mv_infer_test_suite'],
+ stdout=subprocess.PIPE, input=command.encode('UTF-8'))
+ return subp.stdout
+
+ def verify(self, result, label):
+ rv = result.decode('utf-8')
+ trunk = rv[rv.find('callback:'):]
+ time_target = 'time : '
+ task_time = trunk[trunk.find(
+ time_target) + len(time_target): trunk.find('(ms)')]
+ return (task_time, trunk[:trunk.find('(ms)')])
+
+ def clean(self, item):
+ file_path = os.path.basename(item)
+ os.system('sdb shell rm ' + os.path.join(self.work_dir, file_path))
+ os.system('rm ' + file_path)
+
+
def get_session(dataset_id, testset_id):
if(dataset_id == 1):
return Barcode(dataset_id, testset_id)
return FaceDetectionTFlite(dataset_id, testset_id)
elif(dataset_id == 3):
return ImageClassification(dataset_id, testset_id)
+ elif(dataset_id == 4):
+ return ObjectDetection(dataset_id, testset_id)
else:
raise NotImplementedError