я пытаюсь использовать библиотеку face_recognition на python3, чтобы распознавать людей в моей базе данных, вот мой код:
clases = '/home/workstation/Desktop/fv/foto ideal/known/'
predictor = '/home/workstation/Desktop/fv/foto ideal/unknown/'
known_dict = {}
biden_dict = {}
with tf.device('/gpu:1'):
names = [l for l in listdir(clases)]
j=0
for name in names:
try:
known_dict[name] = face_recognition.load_image_file(clases+name)
biden_dict[name] = face_recognition.face_encodings(known_dict[name])
print(j, end="\r")
j +=1
if j==100:
break
except:
pass
проблема в том, что когда я пытаюсь сравнить лица, Строка результата приводит меня к этой ошибке
unknown_image = face_recognition.load_image_file(predictor+"13.jpg")
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
results = face_recognition.compare_faces([biden_dict], unknown_encoding, tolerance=0.50)
print(results)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-cddf315af64b> in <module>
1 unknown_image = face_recognition.load_image_file(predictor+"13.jpg")
2 unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
----> 3 results = face_recognition.compare_faces([biden_dict], unknown_encoding, tolerance=0.50)
4
5 print(results)
~/.local/lib/python3.6/site-packages/face_recognition/api.py in compare_faces(known_face_encodings, face_encoding_to_check, tolerance)
224 :return: A list of True/False values indicating which known_face_encodings match the face encoding to check
225 """
--> 226 return list(face_distance(known_face_encodings, face_encoding_to_check) <= tolerance)
~/.local/lib/python3.6/site-packages/face_recognition/api.py in face_distance(face_encodings, face_to_compare)
73 return np.empty((0))
74
---> 75 return np.linalg.norm(face_encodings - face_to_compare, axis=1)
76
77
TypeError: unsupported operand type(s) for -: 'dict' and 'float'
если кто-нибудь из вас может мне помочь, я буду очень благодарен! спасибо за чтение