FaceNet源码解读2:史上最全的FaceNet源码使用方法和讲解(二)

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

史上最全的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需要修复:
找到这一行程序:
这里写图片描述
可以看出,这一处函数的作用是:如果预训练模

评论 153
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值