分类模型训练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 中指定其他的插值方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是导入所需的Python库和模块。其中: - numpy:Python的一个科学计算库,用于支持大型多维数组和矩阵运算。 - paddle:百度开源的深度学习框架,类似于TensorFlow和PyTorch。 - paddle.dataset.mnist:paddle框架中的MNIST数据集模块。 - paddle.fluid:paddle框架的核心模块,提供了深度学习训练和推理所需的各种API和工具。 - PIL:Python中的图像处理库,可以用于图像的读取、处理和展示。 - matplotlib:Python的一个绘图库,用于数据可视化。 - pathlib:Python 3.4引入的一个库,提供了一种面向对象的路径操作方式。 - paddle.vision.datasets:paddle框架中的视觉数据集模块,提供了常用的视觉数据集和数据集处理方法。 - paddle.vision.transforms:paddle框架中的数据预处理模块,提供了常用的数据预处理方法,如图像的缩放、翻转、裁剪等。 - paddle.nn.functional:paddle框架中的函数式API模块,提供了常用的深度学习函数和操作。 - sklearn.metrics:scikit-learn库中的评估指标模块,提供了混淆矩阵、F1-score等评估指标。 - seaborn:Python的一个数据可视化库,可以用于画混淆矩阵等图形。 - json:Python的一个数据格式转换库,用于将数据转换为JSON格式。 - gzip:Python的一个数据压缩库,可以用于压缩和解压缩数据。 - cv2:OpenCV库中的一个模块,用于图像处理和计算机视觉。 - tqdm:Python的一个进度条库,可以用于显示迭代过程中的进度条。 - InputSpec:paddle框架中的输入数据规格类,用于定义输入数据的形状和类型。 - Accuracy:paddle框架中的准确率指标类,用于计算模型的准确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值