in source/containers/face-detection/detector/predictor.py [0:0]
def get_model(cls):
"""
Get the model object for this instance, loading it if it's not already loaded.
:return:
"""
if cls.detector is None:
if object_detection_model_name == 'ssd_512_resnet50_v1_coco':
cls.detector = gluon.nn.SymbolBlock.imports(
symbol_file=os.path.join(model_root_dir, 'face_detector_ssd_512_resnet50_v1_coco-symbol.json'),
input_names=['data'],
param_file=os.path.join(model_root_dir, 'face_detector_ssd_512_resnet50_v1_coco-0000.params'),
ctx=cls.ctx
)
elif object_detection_model_name == 'yolo3_darknet53_coco':
cls.detector = gluon.nn.SymbolBlock.imports(
symbol_file=os.path.join(model_root_dir, 'face_detector_yolo3_darknet53_coco-symbol.json'),
input_names=['data'],
param_file=os.path.join(model_root_dir, 'face_detector_yolo3_darknet53_coco-0000.params'),
ctx=cls.ctx
)
elif object_detection_model_name == 'yolo3_mobilenet1.0_coco':
cls.detector = gluon.nn.SymbolBlock.imports(
symbol_file=os.path.join(model_root_dir, 'face_detector_yolo3_mobilenet1.0_coco-symbol.json'),
input_names=['data'],
param_file=os.path.join(model_root_dir, 'face_detector_yolo3_mobilenet1.0_coco-0000.params'),
ctx=cls.ctx
)
elif object_detection_model_name == 'faster_rcnn_fpn_resnet101_v1d_coco':
cls.detector = gluon.nn.SymbolBlock.imports(
symbol_file=os.path.join(model_root_dir, 'face_detector_faster_rcnn_fpn_resnet101_v1d_coco-symbol.json'),
input_names=['data'],
param_file=os.path.join(model_root_dir, 'face_detector_faster_rcnn_fpn_resnet101_v1d_coco-0000.params'),
ctx=cls.ctx
)
else:
return None
return cls.detector