对于ML来说,我是一个陌生的人,对于CNN背后的实现,理论和数学,我都不了解。
例如,我一直在研究各种用于面部识别的模型。 VGGFace2,我真的在如何添加/分类自己的面孔方面苦苦挣扎。
我曾尝试做一些事情,例如使用预先训练的模型提供的权重加载模型,将我的标签附加到预先训练的标签列表中,然后将我自己的数据仅使用我自己的标签进行拟合。这似乎行不通,而且似乎也弄乱了其他所有预测/识别。
我一直在尝试的东西(很多代码显然被省略了,但是您应该明白要点):
model = VGGFace(model="resnet50", include_top=False, weights="<pretrained-vggface-weights>")
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
all_labels = np.append(all_labels, "MyFace")
my_labels = encode("MyFace")
model.fit(my_faces, my_labels)
model.predict(my_face)
model.predict("sharon_stone1.jpg")
它甚至还不能识别我的脸,而且似乎也失去了对Sharon Stone测试用例的所有认识。
我真正想做的是随着时间的流逝动态地训练现有的面孔/人/标签/类别/类别,并添加新的面孔/人/标签/类别/类别。