当前位置: 首页 > news >正文

Tensorflow2 如何扩展现有数据集(缩放、随机旋转、水平翻转、平移等),从而提高模型的准确率 -- Tensorflow自学笔记14

实际生活中的数据集,往往不是标准的数据,而是有倾斜角度、有旋转、有偏移的数据,为了提高数据集的真实性,提高模型预测的准确率,可以用ImageDataGenerator函数来扩展数据集

import tensorflow as tffrom tensorflow.keras.preprocessing.image import ImageDataGeneratorimage_gen_train = ImageDataGenerator(rescale=1./255, #原像素值 0~255 归至 0~1 rotation_range=45, #随机 45 度旋转width_shift_range=.15, #随机宽度偏移 [-0.15,0.15)height_shift_range=.15,#随机高度偏移 [-0.15,0.15)horizontal_flip=True,#随机水平翻转zoom_range=0.5 #随机缩放到 [1-50%,1+50%]

MNIST数据集增强

import tensorflow as tffrom tensorflow.keras.preprocessing.image import ImageDataGeneratormnist = tf.keras.datasets.mnist(x_train, y_train), (x_test, y_test) = mnist.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) # 数据增强函数的输入要求是 4 维,通过 reshape 调整,给数据增加一个维度,从(60000, 28, 28)reshape为(60000, 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=False, # 水平翻转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()

数据增强后,图片对比,发现,有的旋转了,有的放大了,有的旋转了。


http://www.mrgr.cn/news/21464.html

相关文章:

  • python基础语法
  • Python基础编程日常练习1|Python一对一私教制定题
  • oracle数据库安装和配置
  • 密保管家-随机密码本地生成
  • linux下的虚拟化
  • 机器人可能会在月球上提供帮助
  • Lombok jar包引入和用法
  • QT 编译报错:C3861: ‘tr‘ identifier not found
  • 短剧影视小程序任意文件读取
  • 自学C语言-11
  • 用手机做抢答器 低预算知识竞赛活动的选择
  • 代码执行漏洞-Log4j2漏洞
  • Java程序分析工具
  • 双项第一!鼎捷强势领跑PLM市场
  • Web应用监控:URL事务监测指标解读
  • Docker安装mysql5.7
  • 【论文阅读】DETRs Beat YOLOs on Real-time Object Detection
  • 分布式项目中使用雪花算法提前获取对象主键ID
  • 一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性
  • 【leetcode刷题之路】面试经典hot100(2)——普通数组+矩阵+链表