deepface/tests/test_nonbinary_gender.py

33 lines
1011 B
Python

from deepface import DeepFace
dataset = [
'dataset/img1.jpg',
'dataset/img5.jpg',
'dataset/img6.jpg',
'dataset/img8.jpg',
'dataset/img7.jpg',
'dataset/img9.jpg',
'dataset/img11.jpg',
'dataset/img11.jpg',
]
detectors = ['opencv', 'ssd', 'retinaface', 'mtcnn'] # dlib not tested
def test_gender_prediction():
for detector in detectors:
results = DeepFace.analyze(dataset, actions=('gender',), detector_backend=detector, prog_bar=False)
for key in results.keys():
result = results[key]
assert 'gender' in result.keys()
assert 'dominant_gender' in result.keys() and result["dominant_gender"] in ["Man", "Woman"]
if result["dominant_gender"] == "Man":
assert result["gender"]["Man"] > result["gender"]["Woman"]
else:
assert result["gender"]["Man"] < result["gender"]["Woman"]
print(f'detector {detector} passed')
if __name__ == "__main__":
test_gender_prediction()