史上最全的FaceNet源码使用方法和讲解(二)
这是对:史上最全的FaceNet源码使用方法和讲解(一)(附预训练模型下载)的一个补充。
一、对模型进行测试:
用到的函数:validate_on_lfw.py
在pycharm中配置的参数如下:
数据集所在路径 模型所在路径
示例:
20170512-110547 1.png 2.png
这将执行以下四个操作:
a)加载模型。
b)加载和解析文本文件与图像对。
c)计算所有图像(以及它们的水平翻转版本)在测试集中的向量。
d)计算精度,验证率(@ FAR = -10e-3),曲线下面积(AUC)和等误差率(EER)等性能指标。
典型的输出如下:
Model directory: /home/david/models/20180402-114759/
Metagraph file: model-20180402-114759.meta
Checkpoint file: model-20180402-114759.ckpt-275
Runnning forward pass on LFW images
........................
Accuracy: 0.99650+-0.00252
Validation rate: 0.98367+-0.00948 @ FAR=0.00100
Area Under Curve (AUC): 1.000
Equal Error Rate (EER): 0.004
二、对预训练模型重新进行训练
有时候,我们需要用自己的数据集对预训练好的模型进行重新训练,或者之前训练了一个模型之后,觉得训练轮数不够,又不想从头开始训练,这样,在训练之前就要把之前训练的模型重新加载进去,方式如下:
######第一步:添加预训练模型的参数:
在中train_tripletloss.py找到这样一个语句:

改成这样:
parser.add_argument('--pretrained_model', type=str,
help='Load a pretrained model before training starts.',default='模型所在路径')
第二步:解决程序中的一个小bug
如果只是完成了第一步,运行程序会报错。经过调试,是因为程序有一个小的bug需要修复:
找到这一行程序:

可以看出,这一处函数的作用是:如果预训练模

本文详细介绍FaceNet模型的应用,包括模型测试、预训练模型再训练及结合SVM进行人脸识别的方法。并提供训练和测试过程中的常见问题解决方案。
最低0.47元/天 解锁文章
528





