人工智能实践——经典卷积神经网络模型(part1)

本文探讨了人工智能实践中数据增强的重要性,并详细介绍了经典的卷积神经网络模型,包括LeNet、AlexNet和VGGNet。内容涵盖数据增强的步骤、各模型的结构特点及其优势,如ReLU激活函数、Dropout、最大池化和多层网络结构。
摘要由CSDN通过智能技术生成

关于数据增强

关于数据增强:有三个部分。
第一部分:定义数据增强的方式
image_gen_train = ImageDataGenerator(
rescale=1,#归至0~1
rotation_range=0,#随机0度旋转
width_shift_range=0,#宽度偏移
height_shift_range=0,#高度偏移
horizontal_flip=True,#水平翻转
zoom_range=1#将图像随机缩放到100%
)

第二部分:数据的预处理。对数据进行中心化或者缩放,ImageDataGenerator需要统计数
据,如特征平均,标准偏差等
image_gen_train.fit(x_train)
fit(x, augment=False, rounds=1, seed=None)
x: 样本数据。
augment: 布尔值(默认为 False)。是否使用随机样本扩张。
rounds: 整数(默认为 1)。如果数据数据增强(augment=True),表明在数据上进行多少次增强。
seed: 整数(默认 None)。随机种子

第三部分:开始数据增强。通常作为model.fit的参数来代替x,y输入
如:
model.fit(image_gen_train.flow(x_train, y_train, batch_size=64), epochs=5,

#model.fit(x_train, y_train, batch_size=64, epochs=5,
 validation_data=(x_test, y_test),
validation_freq=1, callbacks=[cp_callback], verbose=1)

flow(self, X, y, batch_size=32, shuffle=True, seed=None, save_to_dir=None, save_prefix=’’, save_format=‘png’):接收numpy数组和标签为参数,生成经过数据提升或标准化后的batch数据
x:样本数据
y:标签
batch_size:整数,默认32
shuffle:布尔值,是否随机打乱数据,默认为True
save_to_dir:None或字符串,该参数能让你将提升后的图片保存起来,用以可视化
save_prefix:字符串,保存提升后图片时使用的前缀, 仅当设置了save_to_dir时生效
save_format:“png"或"jpeg"之一,指定保存图片的数据格式,默认"jpeg”
yields:形如(x,y)的tuple,x是代表图像数据的numpy数组.y是代表标签的numpy数组.该迭代器无限循环.
seed: 整数,随机数种子

经典的卷积神经网络模型

LeNet

在这里插入图片描述
最早的模型,特点为:
(5,5)的卷积核,比较大
激活函数都是sigmoid(可能是我认识有偏差?

来尝试一下检测fashion_mnist数据集合
因为数据集的图片是(28,28)但是模型原来是(32,32)的不知道咋个统一,所以就只能稍微修改一下模型,运行
在这里插入图片描述
果然正确率惨不忍睹

# 利用class结构训练并测试fashion_mnist
import tensorflow as tf
import os
from tensorflow.keras.layers import Conv2D, BatchNormalization, Activation, AveragePooling2D, Dropout, Flatten, Dense
from tensorflow.keras import Model
from matplotlib import pyplot as plt
from tensorflow.keras.preprocessing.image import ImageDataGenerator

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'
fashion_mnist = tf.keras.datasets.fashion_mnist
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值