Проблема Face_Recognition при загрузке файла кодировки - PullRequest
0 голосов
/ 07 мая 2020

Я хочу создать файл .csv, чтобы ускорить загрузку файла кодировки моей программы распознавания лиц с помощью face_recognition на python.

Когда мой алгоритм обнаруживает новое лицо, он генерирует кодировку файл с помощью face_recognition, а затем:

                with open('data.csv', 'a') as file:

                writer = csv.writer(file)
                writer.writerow([ID,new_face_reco])

Я делаю это, чтобы отправить код в файл .csv. (ID - это случайное имя, которое я даю лицу, а new_face_reco - это кодировка нового лица)

Но я хочу снова открыть его, когда я перезапускаю программу, поэтому у меня есть это в начале:

known_face_encodings_temp = []
known_face_names_temp = []

with open('data.csv', 'rb') as file:
    data = [row for row in csv.reader(file,delimiter=',')]

    known_face_names_temp.append(np.array(data[0][0]))
    essai = np.array(data[0][1].replace('\n',''))
    known_face_encodings_temp.append(essai.tolist())


known_face_encodings=known_face_encodings_temp
known_face_name=known_face_names_temp

У меня много проблем (вот почему в этой части много строк), потому что моя кодировка изменилась с .csv на ее перезагрузку. Вот что я получил:

Исходные данные:

array([-8.31770748e-02, ... , -3.41368467e-03])

Когда я пытаюсь перезагрузить свой csv (без каких-либо попыток изменить что-либо):

'[-1.40143648e-01  ... -8.10057670e-02\n  3.77673171e-02  1.40102580e-02  8.14460665e-02  
7.52283633e-02]'

Что Я делаю это, когда пытаюсь что-то изменить:

'[-1.40143648e-01 ...  7.52283633e-02]'

Мне нужно, чтобы мои данные загрузки совпадали с исходными. Что я могу сделать?

1 Ответ

0 голосов
/ 11 мая 2020

Вместо использования файлов CSV попробуйте использовать файлы numpy (.npy); их намного проще сохранять и загружать. Я сам использовал их в одном из своих проектов, в котором используется модуль face_recognition, и буду рад помочь вам.

Чтобы сохранить кодировку, вы можете:

np.save(path to save, encoding)

Чтобы загрузить кодировку можно:

encodingVariable = np.load(path to load)
...