课程来源:人工智能实践:Tensorflow笔记2

文章目录

  • 前言
  • TensorFlow2数据增强函数
  • 数据增强+网络八股代码:
  • 总结

前言

本讲目标:数据增强,增大数据量
关于我们为何要使用数据增强以及常用的几种数据增强的手法,可以看看下面的文章,虽说是翻译的,但仍有可鉴之处:
数据增强(Data Augmentation)


TensorFlow2数据增强函数

对图像的增强就是对图像的简单形变,用来应对因为拍照角度不同引起的图片形变。
TensorFlow2给出了数据增强函数

image_gen_train =tf.keras.preprocessing.image.ImageDataGenerator(
rescale = 所有数据将乘以该数值
rotation_range =随机旋转角度数范围
width_shift_range = 随机宽度偏移量
height_shift_range =随机高度偏移量
horizontal_flip =是否随机水平翻转
zoom_range =随机缩放的范围[1-n,1+n])
image_gen_train.fit(x_train)
fit需要输入4维数据,所以将x_train reshape为(60000,28,28,1)
这个1表示单通道灰度值
model.fit同步更新为.flow形式

划红线的部分为需要注意的地方:

数据增强+网络八股代码:

import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGeneratorfashion = tf.keras.datasets.fashion_mnist
(x_train, y_train), (x_test, y_test) = fashion.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)  # 给数据增加一个维度,使数据和网络结构匹配image_gen_train = ImageDataGenerator(rescale=1. / 1.,  # 如为图像,分母为255时,可归至0~1rotation_range=45,  # 随机45度旋转width_shift_range=.15,  # 宽度偏移height_shift_range=.15,  # 高度偏移horizontal_flip=True,  # 水平翻转zoom_range=0.5  # 将图像随机缩放阈量50%
)
image_gen_train.fit(x_train)model = tf.keras.models.Sequential([tf.keras.layers.Flatten(),tf.keras.layers.Dense(128, activation='relu'),tf.keras.layers.Dense(10, activation='softmax')
])model.compile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),metrics=['sparse_categorical_accuracy'])model.fit(image_gen_train.flow(x_train, y_train, batch_size=32), epochs=5, validation_data=(x_test, y_test),validation_freq=1)
model.summary()


随着迭代轮数增加,准确率不断提高。但从数据集上不能看出数据增强的效果,要在实际应用中去使用。

总结

课程链接:MOOC人工智能实践:TensorFlow笔记2

【神经网络八股扩展】:数据增强相关推荐

  1. 【神经网络八股扩展】:自制数据集

    课程来源:人工智能实践:Tensorflow笔记2 文章目录 前言 1.文件一览 2.将load_data()函数替换掉 2.调用generateds函数 4.效果 总结 前言 本讲目标:自制数据集, ...

  2. Tensorflow2.x框架-神经网络八股扩展-自制数据集

    自制数据集,解决本领域应用 目录 摘要 一.Sequential() 实现自制数据集 二.Class() 实现自制数据集 摘要 mnist_image_label 文件夹: mnist_train_j ...

  3. 数据增强在卷积神经网络中的应用

    这一篇博客主要讨论在用卷积神经网络进行图像识别或者目标检测时的数据增强手段,并讨论其作用. 首先整理两篇比较有代表性的论文里的数据增强,再说说我自己工作中使用的数据增强,最后讨论这些数据增强的意义(我 ...

  4. 总结 62 种在深度学习中的数据增强方式

    数据增强 数据增强通常是依赖从现有数据生成新的数据样本来人为地增加数据量的过程 这包括对数据进行不同方向的扰动处理 或使用深度学习模型在原始数据的潜在空间(latent space)中生成新数据点从而 ...

  5. 2.10 数据增强-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.9 迁移学习 回到目录 2.11 计算机视觉现状 数据增强 (Data Augmentation) 大部分的计算机视觉任务使用很多的数据,所以数据扩充是经常使用的一种技巧 ...

  6. DL之AlexNet:利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型)

    DL之AlexNet:利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型) 目录 利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型) 设计思路 处 ...

  7. 最全目标检测相关资料整理 (目标检测+数据增强+卷价神经网络+类别不均衡...)

    1 小目标检测: 综述: 综述论文Augmentation for small object detection 深度学习笔记(十)Augmentation for small object dete ...

  8. 吴恩达神经网络和深度学习-学习笔记-38-使用开源的方案+迁移学习+数据增强data augmentation

    使用别人的开源成果 想要用现成的网络,最好在网络上找到开源的实现,这要比从头开始实现快得多. 比如:直接在Google上搜索resnets github,找到合适的后点击下载会得到URL,然后在cmd ...

  9. 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...

最新文章

  1. python复合数据类型_python—组合数据类型
  2. java.util.ResourceBundle使用详解
  3. objective-c(反射)
  4. GitHub 五万星登顶,命令行的艺术!
  5. Execution Plan 执行计划介绍
  6. 使用Node.JS监听文件夹变化
  7. 安卓之上传文件,即HTTP提交表单
  8. python 学习笔记(十二) 文件和序列化
  9. 李大维:互联网人做硬件创业容易产生的七大误解【转载】
  10. 编辑框CEdit自动换行简单设置
  11. Python 中Python 为什么要继承 object 类
  12. mysql数据库密码怎么修改_MySQL数据库密码如何修改?
  13. npm启动报错——端口被占用
  14. 「水花投资」是什么?是个人吗?
  15. PTA 1033 旧键盘打字
  16. Fabric.js 自由绘制椭圆
  17. Oracle分区表详解,分区表创建,分区表按日期划分
  18. seaborn中的色板02详解
  19. Vacuum和Vacuum Full的处理过程
  20. win11 使用IE浏览器的其他办法

热门文章

  1. 程序员有哪些可以写博客的网站?
  2. python 建筑建模_不可错过的python 街道数据爬取和分析神器!
  3. 方向盘左右能摇动_学车这么久了,你还不会打方向盘呢?
  4. 【WebGL】《WebGL编程指南》读书笔记——第2章
  5. 深入理解闭包系列第五篇——闭包的10种形式
  6. js获得页面鼠标位置
  7. Vuejs开发环境搭建及热更新
  8. 阅读react-redux源码 - 零
  9. Java FlameGraph 火焰图
  10. ubuntu与win10互换硬盘