pytorch实战示例-模型预测

上次说了模型训练的示例,这次把预测部分也实现下,本文预测方法会提供两种,一种是针对单样本的预测,一种是使用dataset实现样本集的预测,先来看下要要预测的文件信息。

列信息分别是:当前图片,其它图片,标签(0=同一人,1=不同人)

先看下单样本预测代码:

逻辑就是:遍历文件,每次对当前样本的两张图片先进行图像处理,再通过模型输出特征,最后计算欧式距离,距离越小说明越相似。要注意的就是图像处理要与模型训练时保持一致。

看一下测试集预测距离的排序结果:

    从排序结果来看,前几个距离最小的都是同一人,说明模型效果还是很好的,从整个测试集来看,6个测试人物首位均命中,top1命中率100%。

我们再来看下使用dataset进行预测的代码:

    这个就要先使用dataset,dataloader进行数据的加载,然后每次迭代获取batch_size个样本进行批量预测,准确率跟上面的一致,这里就不多说了,这里重点说下两种方法的性能对比。

从性能来看,批量预测是单样本预测的10倍速,所以预测样本多的话尽量使用批量预测方式进行处理。

​以上就是预测的两种方式,上面的示例都是基于CPU的运行速度,如果有GPU的话可以开启GPU加速,性能会更好。

本节内容就这些,想下载源码的可以微信公众号《桔子的算法之路》回复:孪生网络模型训练

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。