def get_dishes(result, top_k=3, threshold=0.1): """Returns list of Dish objects decoded from the inference result.""" assert len(result.tensors) == 2 bboxes = utils.reshape(result.tensors['bounding_boxes'].data, 4) dish_scores = utils.reshape(result.tensors['dish_scores'].data, len(_CLASSES)) assert len(bboxes) == len(dish_scores) return [Dish(_get_sorted_scores(scores, top_k, threshold), tuple(bbox)) for scores, bbox in zip(dish_scores, bboxes)]
def get_faces(result): """Returns list of Face objects decoded from the inference result.""" assert len(result.tensors) == 3 # TODO(dkovalev): check tensor shapes bboxes = utils.reshape(result.tensors['bounding_boxes'].data, 4) face_scores = tuple(result.tensors['face_scores'].data) joy_scores = tuple(result.tensors['joy_scores'].data) assert len(bboxes) == len(joy_scores) assert len(bboxes) == len(face_scores) return [ Face(face_score, joy_score, tuple(bbox)) for face_score, joy_score, bbox in zip(face_scores, joy_scores, bboxes) ]