Я храню некоторые из изображений в базе данных как 128 векторных массивов. Моя проблема в том, что, когда я помещаю новые изображения в набор данных или удаляю изображения из набора данных, pickle повторно сохраняет ранее сохраненные изображения и не знает, что векторы массива уже сохранены в нем.
Это вызывает Когда у меня много изображений в наборе данных, пришло время потратить их на сохранение в рассоле. Как я могу это исправить?
├── dataset
│ ├── jack [10 entries]
│ ├── john [7 entries]
│ ├── mori [24 entries]
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--dataset", required=True,help="path to input directory of faces + images")
ap.add_argument("-e", "--encodings", required=True,help="path to serialized db of facial encodings")
features = []
faces = []
for (i, imagePath) in enumerate(imagePaths):
name = imagePath.split(os.path.sep)[-2]
encodings = face_recognition.face_encodings(rgb, boxes)
for encoding in encodings:
knownEncodings.append(encoding)
knownNames.append(name)
data = {"encodings": knownEncodings, "names": knownNames}
f = open(args["encodings"], "wb")
f.write(pickle.dumps(data))
f.close()