result_all = {}
for image in images:
gender = face_analyze(image).get('gender')
result_all.update({image: gender})
print(f'Gender of {image}: ' + gender)
with open('genders.json', 'w', encoding='utf-8') as file:
json.dump(result_all, file, indent=4, ensure_ascii=False)
if __name__ == '__main__':
main()
p.s. Если указан параметр enforce_detection=False, то всё работает, но мне надо чтобы работало при True, но вылезает ошибка:
gender = face_analyze(image).get('gender')
AttributeError: 'ValueError' object has no attribute 'get'
Почему бы с английского не перевести ошибку и не попробовать разобраться в ней , gender = face_analyze(image).get('gender')
при face_analyze(image) вероятно возвращается ошибка ValueError, а следующая часть конструкции .get(... пытается вызвать для нее функцию get('gender'), которая есть у нормального объекта, возвращаемого face_analyze(image), но нет у ошибки.
Итого - face_analyze(image) в данном скрипте не работает. Почему - ищите в документации и в интернете.
Это на первом же image происходит или в процессе перебора ?
см. тут так же - https://github.com/serengil/deepface/issues/161
dieselslk, проверь что у тебя в image и правильно ли прописаны пути к файлам и директории faces
У меня на виндовс и питоне 3.6 работает с enforce_detection=True