python工具方法27 训练时在线random resize的实现(支持图像分类与语义分割)
2023-09-14 09:15:04 时间
在训练过程中动态调整数据的尺寸可以增强模型对不同size尺寸物体的适应能力,是提升模型泛化能力的一种手段。如在paddledection套件中,就提供了参数设置多种size组合;此外,博主在拜读SegFormer模型论文时,作者也提到了使用0.5-2.0的倍率对训练数据进行缩放(作者操作还包含随机水平翻转和随机裁剪)。为此对该操作进行实现,对于图像的resize均使用PIL.Image实现与ai框架无任何关联,paddle、pytorch、tensorflwo都可以使用。对目标检测暂不支持,如果后续有需要会完善。
在使用中切记,进行random_size时,由于要将图片转换为uint8,因此传入的数据不能进行标准化(减均值除方差),只传入允许归一化的数据。否则会导致性能极差,模型无法收敛(标准化的数据存在负数,转uint8后存在信息丢失)
1、具体实现
1.1 resize函数的实现
在进行图像resize时,需要注意的是label的格式是WH,为二维数据,而image的格式为CWH或WHC为三维数据,此外image还分为单通道和三通道,三通道通常为rgb数据,而单通道通常为灰度图数据。针对于不同的数据需要选用不同的函数进行resize操作,具体共有以下三个函数。
from PIL import
相关文章
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
- python抽取指定url页面的title方法
- python用户评论标签匹配的解决方法
- 跨平台python异步回调机制实现和使用方法
- [Python's] Python's list comprehensions a
- Python编程语言学习:基于python各种库(matplotlib、Image)利用多种方法展示图片或进行图片可视化之详细攻略
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python之ffmpeg-python:ffmpeg-python库的简介、安装、使用方法之详细攻略
- Python:python语言中与时间有关的库函数简介、安装、使用方法(获取当前时间/计算程序块前后运行时间/模型训练时间或耗费时间)之详细攻略
- Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
- Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 基于聚类线性回归的新型预测方法(Python代码实现)
- 【华为OD机试 2023】 最大报酬(C++ Java JavaScript Python)
- Python爬虫:xpath常用方法示例
- Python爬虫:Scrapy与__file__引发的异常
- python seek()方法报错:“io.UnsupportedOperation: can't do nonzero cur-relative seeks”
- 安装Python的机器学习包Sklearn 出错解决方法
- 多版本Python共存时pip给指定版本的python安装package的方法
- Py之requests:python的requests包的简介、安装、使用方法详细攻略
- 基于交替方向乘法(ADMM)的PAPR约束下传输波束成形器设计的方法研究(Python代码实现)
- python工具方法37 voc数据统计分析(box聚类、box散点图、类别频率统计、box面积统计)
- python工具方法 25 txt标注(yolo格式标注)的目标检测文件转voc数据