Tensorflow笔记——第三讲:神经网络搭建八股

本博客分享了使用Tensorflow的tf.keras快速搭建神经网络的方法,包括Sequential模型和自定义Class模型。通过六步法,详细介绍了如何构建和训练手写数字识别模型,以及如何处理MNIST和Fashion_MNIST数据集。
摘要由CSDN通过智能技术生成

本节课目标:分享神经网络的搭建八股,用“六步法”, 不到20行代码,写出手写数字识别训练模型。
使用TensorflowAPI:tf.keras搭建网络八股。tf.keras是tensorflow2引入的高封装度的框架,可以用于快速搭建神经网络模型,keras为支持快速实验而生,能够把想法迅速转换为结果,是深度学习框架之中最终易上手的一个,它提供了一致而简洁的API,能够极大地减少一般应用下的工作量,提高代码地封装程度和复用性。

3.1 搭建网络八股Sequential

在这里插入图片描述
第一步:import相关模块,如import tensorflow as tf。

第二步:指定输入网络的训练集和测试集,如指定训练集的输入x_train和标签y_train,测试集的输入x_test和标签y_test。

第三步:逐层搭建网络结构,model = tf.keras.models.Sequential()。

第四步:在model.compile()中配置训练方法,选择训练时使用的优化器、损失函数和最终评价指标。

第五步:在model.fit()中执行训练过程,告知训练集和测试集的输入值和标签、每个batch的大小(batchsize)和数据集的迭代次数(epoch)。

第六步:使用model.summary()打印网络结构,统计参数数目。

3.1.1 model=tf.keras.models.Sequential([网络结构]):

Sequential函数是一个容器,描述了神经网络的网络结构,在Sequential函数的输入参数中描述从输入层到输出层的网络结构。

在这里插入图片描述

3.1.2 model.compile(optimizer = 优化器, loss = 损失函数, metrics = [“准确率”] ):

Compile用于配置神经网络的训练方法,告知训练时使用的优化器、损失函数和准确率评测标准。
在这里插入图片描述

3.1.3 model.fit():

fit函数用于执行训练过程。
在这里插入图片描述

3.1.4model.summary():

summary函数用于打印网络结构和参数统计。

在这里插入图片描述
上图是model.summary()对鸢尾花分类网络的网络结构和参数统计,对于一个输入为4输出为3的全连接网络,共有15个参数。

接下来看一下使用着六步法,怎么实现鸢尾花分类:

# 一
import tensorflow as tf
from sklearn import datasets
import numpy as np

# 二
x_train = datasets.load_iris().data
y_train = datasets.load_iris().target

np.random.seed(116)
np.random.shuffle(x_train)
np.random.seed(116)
np.random.shuffle(y_train)
tf.random.set_seed(116)

# 三
model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
])

# 四
model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])

# 五
model.fit(x_train, y_train, batch_size=32, epochs=
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值