зеркало из
https://github.com/ssciwr/AMMICO.git
synced 2025-10-29 21:16:06 +02:00
* use simpler image for testing * include age in faces test again * fix typo * try with newer tensorflow version * remove testing for age again * try with tensorflow newer versions only for breaking change in transformers * force transformers to use pytorch
36 строки
1.1 KiB
Python
36 строки
1.1 KiB
Python
import ammico.faces as fc
|
|
import json
|
|
import pytest
|
|
|
|
|
|
def test_set_keys():
|
|
ed = fc.EmotionDetector({})
|
|
assert ed.subdict["face"] == "No"
|
|
assert ed.subdict["multiple_faces"] == "No"
|
|
assert ed.subdict["wears_mask"] == ["No"]
|
|
assert ed.subdict["emotion"] == [None]
|
|
with pytest.raises(ValueError):
|
|
fc.EmotionDetector({}, emotion_threshold=150)
|
|
with pytest.raises(ValueError):
|
|
fc.EmotionDetector({}, emotion_threshold=-50)
|
|
with pytest.raises(ValueError):
|
|
fc.EmotionDetector({}, race_threshold=150)
|
|
with pytest.raises(ValueError):
|
|
fc.EmotionDetector({}, race_threshold=-50)
|
|
|
|
|
|
def test_analyse_faces(get_path):
|
|
mydict = {
|
|
"filename": get_path + "pexels-pixabay-415829.jpg",
|
|
}
|
|
mydict.update(fc.EmotionDetector(mydict).analyse_image())
|
|
|
|
with open(get_path + "example_faces.json", "r") as file:
|
|
out_dict = json.load(file)
|
|
# delete the filename key
|
|
mydict.pop("filename", None)
|
|
# do not test for age, as this is not a reliable metric
|
|
mydict.pop("age", None)
|
|
for key in mydict.keys():
|
|
assert mydict[key] == out_dict[key]
|