数据库主机wordpress,郑州专业seo哪家好,维力安网站建设公司,徐州市工程建设交易平台文章目录 一、数据增强1.理论知识2.代码 二、微调1.理论知识 一、数据增强
1.理论知识
增加一个已有数据集#xff0c;使得有更多的多样性 在语言里面加入各种不同的背景噪音改变图片的颜色和形状
使用增强数据训练 翻转
左右翻转上下翻转 不总是可行
切割
从图片中切… 文章目录 一、数据增强1.理论知识2.代码 二、微调1.理论知识 一、数据增强
1.理论知识
增加一个已有数据集使得有更多的多样性 在语言里面加入各种不同的背景噪音改变图片的颜色和形状
使用增强数据训练 翻转
左右翻转上下翻转 不总是可行
切割
从图片中切割一块然后变形到固定形状 随机高宽比随机大小随机位置
颜色
改变色调饱和度明亮度
[总结]
数据增广通过变形数据来获取多样性从而使得模型泛化性能更好常见图片增广包括翻转、切割、变色
2.代码
1.读取图像
%matplotlib inline
import torch
import torchvision
from torch import nn
from d2l import torch as d2ld2l.set_figsize()
img d2l.Image.open(../img/test.png)
d2l.plt.imshow(img);def apply(img, aug, num_rows2, num_cols4, scale1.5):Y [aug(img) for _ in range(num_rows * num_cols)]d2l.show_images(Y, num_rows, num_cols, scalescale)水平翻转
apply(img, torchvision.transforms.RandomHorizontalFlip())
# 在水平方向进行随机翻转上下翻转图像
# 上下翻转图像
apply(img, torchvision.transforms.RandomVerticalFlip())随机裁剪
shape_aug torchvision.transforms.RandomResizedCrop((200, 200), scale(0.1, 1), ratio(0.5, 2))
apply(img, shape_aug)随机更改图片亮度
apply(img, torchvision.transforms.ColorJitter(brightness0.5, contrast0, saturation0, hue0))随机更改图片的色调,亮度brightness对比度(contrast)饱和度(saturation)色调(hue)
# 随机更改图片的色调,亮度brightness对比度(contrast)饱和度(saturation)色调(hue)
color_aug torchvision.transforms.ColorJitter(brightness0.5, contrast0.5, saturation0.5, hue0.5)
apply(img, color_aug)结合多种图像增广方法
augs torchvision.transforms.Compose([torchvision.transforms.RandomHorizontalFlip(),color_aug, shape_aug])
apply(img, augs)all_images torchvision.datasets.CIFAR10(trainTrue, root../data, downloadTrue)
d2l.show_images([all_images[i][0] for i in range(32)], 4, 8, scale0.8);# 只使用最简单的随机左右翻转
train_augs torchvision.transforms.Compose([torchvision.transforms.RandomHorizontalFlip(),torchvision.transforms.ToTensor()])test_augs torchvision.transforms.Compose([torchvision.transforms.ToTensor()])# 定义一个辅助函数以便于读取图像和应用图像增广
def load_cifar10(is_train, augs, batch_size):dataset torchvision.datasets.CIFAR10(root../data, trainis_train,transformaugs, downloadTrue)dataloader torch.utils.data.DataLoader(dataset, batch_sizebatch_size, shuffleis_train,num_workers0)return dataloader二、微调
1.理论知识
标注一个数据集很贵 网络架构
一个神经网络一般可以分成两块 特征抽取将原始像素变成容易线性分割的特征线性分类器来做分类
微调 微调中的权重初始化