Spaces:
Build error
Build error
| import cv2 | |
| import numpy as np | |
| import onnxruntime | |
| from .face_alignment import norm_crop2 | |
| class GenderAge: | |
| def __init__(self, model_file=None, provider=['CPUExecutionProvider'], session_options=None): | |
| self.model_file = model_file | |
| self.session_options = session_options | |
| if self.session_options is None: | |
| self.session_options = onnxruntime.SessionOptions() | |
| self.session = onnxruntime.InferenceSession(self.model_file, sess_options=self.session_options, providers=provider) | |
| def predict(self, img, kps): | |
| aimg, matrix = norm_crop2(img, kps, 128) | |
| blob = cv2.resize(aimg, (62,62), interpolation=cv2.INTER_AREA) | |
| blob = np.expand_dims(blob, axis=0).astype('float32') | |
| _prob, _age = self.session.run(None, {'data':blob}) | |
| prob = _prob[0][0][0] | |
| age = round(_age[0][0][0][0] * 100) | |
| gender = np.argmax(prob) | |
| return gender, age | |