分类模型训练pil、torchvision.transforms和opencv的resize

参考:https://blog.csdn.net/weixin_41012399/article/details/126049885

https://www.cnpython.com/qa/1291644

https://blog.csdn.net/weixin_44966641/article/details/125084573

https://blog.csdn.net/IEEE_FELLOW/article/details/115536987

训练时用pil读取图片,使用torchvision.transforms.Resize 进行数据处理。因为transforms.Resize当输入为PIL图像时,默认使用的PIL的resize进行处理,除了默认的双线性插值,还会进行antialiasing。

PyTorch 中的 torchvision.transforms.Resize 就是采用的 PIL 的 resize。

部署的时候使用opcv的resize处理,发现不一致,最好在训练的时候统一用opencv处理图片。

transforms.Resize 和 PIL 的 resize 的插值方式有区别吗?

A:是的,transforms.Resize 和 PIL 的 resize 的默认插值方式是不同的。

在 transforms.Resize 中,默认使用的是 PIL.Image.BILINEAR,即双线性插值。而在 PIL 的 resize 中,默认使用的是 PIL.Image.BICUBIC,即三次样条插值。

当然,transforms.Resize 也可以指定其他的插值方式,如 PIL.Image.NEAREST(最近邻插值)、PIL.Image.BICUBIC 等。同样地,也可以在 PIL 的 resize 中指定其他的插值方式。

相关推荐
带娃的IT创业者38 分钟前
机器学习实战(8):降维技术——主成分分析(PCA)
人工智能·机器学习·分类·聚类
paterWang2 小时前
基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
开发语言·python·opencv
东方佑2 小时前
使用Python和OpenCV实现图像像素压缩与解压
开发语言·python·opencv
Moutai码农4 小时前
机器学习-生命周期
人工智能·python·机器学习·数据挖掘
North_D9 小时前
ML.NET库学习008:使用ML.NET进行心脏疾病预测模型开发
人工智能·深度学习·神经网络·目标检测·机器学习·自然语言处理·数据挖掘
KJYHS13 小时前
2024亚马逊数据分析!
数据挖掘·数据分析
程序媛小果15 小时前
基于 Python+OpenCV 的疲劳检测系统设计与实现(源码+文档)
开发语言·python·opencv
jndingxin16 小时前
OpenCV机器学习(9)向量机(Support Vector Machine, SVM)cv::ml::SVM
opencv·机器学习·支持向量机
studying_mmr17 小时前
Word Embeddings
机器学习·数据挖掘·nlp·data mining
yuanbenshidiaos18 小时前
【数据挖掘】
人工智能·数据挖掘