最近加入了新的组,讨论的时候大家经常把inference和training挂在嘴边。每次内心都在嘀咕,,到底啥是inference?模型训练好了之后,还要推理过程吗?于是查了查资料,发现还真有。。
Training训练
这个我懂,就是分batch给网络喂一堆有标签的数据,让他逐渐学习数据特征,然后匹配到对应的标签。比如给一张图片,能够认出图片里面是个苹果。
Inference推理
把上边训练好的模型,拿到新的没见过的数据上试一试。看看效果怎么样。所以不需要分batch迭代更新参数,只需要一次求解,前向传播。
Pytorch怎么inference
1 首先加载数据,看是否需要预处理啥的。
2 然后调用模型,注意两点
(1) model.eval()状态,不需要再训练
(2)with torch.no_grad():状态
3 再就是正常的计算结果,得到输出。
参考:
【深度之眼】【Pytorch打卡第19天】:图像分类Resnet的Inference_雯文闻的博客-CSDN博客_pytorch 图像分类