Test time augmentation(TTA)

news/2025/3/16 6:04:30/

Test time augmentation

数据扩充是模型训练期间通常使用的一种方法,它使用来自训练数据集的样本的修改副本来扩充训练集。
数据增强通常使用图像数据执行,其中使用一些执行的图像处理技术(如缩放、翻转、移位等)创建训练数据集中的图像副本。
人工扩展的训练数据集可以产生更熟练的模型,因为深度学习模型的性能通常会随着训练数据集的大小而不断扩展。此外,训练数据集中图像的修改或增强版本可以帮助模型以不改变其位置、光线等的方式提取和学习特征。
Test time augmentation(简称TTA)是对测试数据集进行数据扩展的应用程序。
具体来说,它涉及到在测试集中创建每个图像的多个增强副本,让模型为每个图像做出预测,然后返回这些预测的集合。
选择增强是为了让模型有最佳的机会正确地对给定的图像进行分类,而且模型必须对图像进行预测的副本的数量通常很少,比如少于10或20个。
通常,只执行一个简单的测试时间扩展,比如移位、裁剪或图像翻转。
我们还通过图像的水平翻转来增加测试集;对原始图像和翻转后的图像进行软最大类后验平均,得到图像的最终得分。

How to use

1.借助pytorch_toolbelt

from pytorch_toolbelt.inference import tta# Truly functional TTA for image classification using horizontal flips:
logits = tta.fliplr_image2label(model, input)# Truly functional TTA for image segmentation using D4 augmentation:
logits = tta.d4_image2mask(model, input)# TTA using wrapper module:
tta_model = tta.TTAWrapper(model, tta.fivecrop_image2label, crop_size=512)
logits = tta_model(input)

2.自己动手

import torch# 水平翻转
def flip_horizontal_tensor(batch):columns = batch.data.size()[-1]return batch.index_select(-1, torch.LongTensor(list(reversed(range(columns)))).cuda())

在这里插入图片描述

#   垂直翻转
def flip_vertical_tensor(batch):rows = batch.data.size()[-2]return batch.index_select(-2, torch.LongTensor(list(reversed(range(rows)))).cuda())

在这里插入图片描述


http://www.ppmy.cn/news/911402.html

相关文章

TTA 测试时数据增强(multi-scale testing)(TEST.AUG)

TTA, Test-Time Augmentation,测试时数据增强 测试时将原始数据做不同形式的增强,然后取结果的平均值作为最终结果。可以进一步提升最终结果的精度 The input size significantly influences detection accuracy, since high resolution inputs make the detectors …

ISTQB- TTA大纲

1.基于风险的测试中技术测试分析师的任务 1.1 简介 基于风险的测试策略的建立和管理由测试经理全面负责,但测试经理通常会要求技术测试分析师的参与以确保正确实施基于风险的方法。 技术测试分析师在由测试经理为项目而制定的基于风险的测试框架内工作&#xff0…

YOLOV5之提高模型评估和测试方法(TTA、Ensemble、WBF)

一、Ensemble 本指南解释了如何在测试和推断改进的mAP和Recall过程中使用YOLOv5模型集成。2022年1月25日更新。 集成建模是一个过程,通过使用许多不同的建模算法或使用不同的训练数据集,创建多个不同的模型来预测结果。然后,集合模型将每个…

[论文翻译]测试时数据增强(TTA):Automatic Brain Tumor Segmentation using Convolutional Neural Networks with TTA

论文下载: 地址 Automatic Brain Tumor Segmentation using Convolutional Neural Networks with Test-Time Augmentation 使用带有TTA的卷积神经网络实现胶质瘤的自动分割 Abstract. Automatic brain tumor segmentation plays an important role for diagnosis, surgical pl…

【Kaggle比赛常用trick】K折交叉验证、TTA

一、什么是k折交叉验证? 在训练阶段,我们一般不会使用全部的数据进行训练,而是采用交叉验证的方式来训练。交叉验证(Cross Validation,CV)是机器学习模型的重要环节之一。它可以增强随机性,从有…

W-Sharing取得TTA与PaaS-TA兼容级别1双项认证

W-Sharing是一款可以实现实时共享功能的SaaS型产品。W-Sharing能够实现医患、医医线上互通,1天构建完成,次日投入使用,让好医疗近在眼前,同时也可以应用到金融、保险等多种非面对面业务服务中。 去年,对非面对面画面共…

李宏毅机器学习作业3——Image Classification,模型集成,交叉验证,TTA

目录 任务和数据集 任务 数据集 Baseline 导包 数据处理 Transforms Datasets 数据加载函数 分类模型 训练 训练函数 加载数据 训练 预测 输出 解答 数据增广 使用原代码模型 EnsembleTTA 模型集成Ensemble Test Time Augmentation EnsembleTTA Cross V…

Pytorch TTA(预测增强) 源码阅读

Pytorch TTA 源码阅读 1.ttach/wrappers.py TTA主要调用的接口 继承了pytorch的nn.Module import torch import torch.nn as nn # 做类型注解的库 # 参考 https://www.bilibili.com/read/cv3249320/ from typing import Optional, Mapping, Union, Tuple from .base import…