使用 Tensorflow 进行图像分类:流式数据的数据增强(第 2 部分)

介绍

本文是文章第 1 部分的延续 ,我们在第 1 部分中讨论了一般数据管道以及我们如何使用 TensorFlow 数据管道:Tensorflow 数据集。查看第一部分:https://mp.weixin.qq.com/s/TPg_1KT6u47-9KrMSpoqzg

简单回顾一下,我们通过从“Horses-and-Human”数据集上的“TensorFlow Datasets”中提取、转换和加载数据创建了一个二进制图像分类器。如果你不熟悉这个概念,我建议你也看看那篇文章。

在本文中,我们将创建一个类似的二元图像分类器,但与之前不同,这次我们将通过数据增强处理过拟合。我们将使用数据增强作为序列模型层,这些层将在实际进入卷积层和最大池化层之前转换模型中的流数据。

这使我们能够在运行时模型训练中使用已经存储的数据和更多样化的示例。

但在此之前:什么是数据增强?

什么是数据增强?

数据增强是图像处理中一种非常流行的技术,尤其是计算机视觉,通过应用随机(但现实)的变换来增加训练数据的多样性和数量。

例如,图像调整大小、图像旋转、图像翻转等等。这种技术帮助我们获得更多样化的数据,从而产生更好的训练集,从而得到更好的训练模型。

注意:在深度学习中,当我们使用数据增强时,我们只将技术应用于训练数据,而不是验证数据,也不应用于测试数据。

将跳过第1部分中已经涵盖的那些部分的代码说明,直接进入本文的内容。

让我们编码

导入库并使用 TensorFlow 数据集检索数据

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
import tensorflow_datasets as tfds
from tensorflow.keras import layers

train_dataset,info = tfds.load('horses_or_humans', with_info = True, split='train', as_supervised=True)
val_dataset,val_info = tfds.load("horses_or_humans", with_info=True, split='test', as_supervised=True)

这些数据管道创建的tensorflow.data.Dataset对象是一个 Python 迭代器。那么,让我们看看“ train_dataset ”中的一个例子

get_label_name = info.features["label"].int2str
image, label =
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值