tensorflow 2.1 六步法搭建Keras神经网络模型

一、六步法搭建Keras神经网络模型
·第一步:导入库函数
·第二步:划分数据集
·第三步:搭建神经网络模型的tf.keras.models.Sequential,模型搭建
·第四步:compile选择损失函数,优化器,准确率表达形式......
·第五步:fit选择输入特征,标签,迭代次数,batch大小,数据集划分比例、每多少epoch验证一次数据集
·第六步:打印出模型summery并且验证模型


二、神经网络层

sequential是神经网络层的容器:
Flatten层不包含计算,只是将数据拉直为一维数组
Dense全连接层包含计算,可以设定神经元个数、激活函数、正则化方法(l1,l2)等
Conv2卷积层有卷积核个数、卷积核尺寸、卷积核步长、以及padding填充
LSTM层等


三、网络层创建函数介绍

       1.sequential函数介绍

其中正则化对应L1,和L2正则化方法

         2.compile函数

tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)的from_logits参数是在询问输出是否是原始输出或者概率分布输出,若是经过了softmax的概率分布输出,那么该参数设置为False

         3.fit函数

四、实例讲解

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=500, validation_split=0.2, validation_freq=20)

model.summary()

首先获取鸢尾花分类的数据集并且打乱 ,创建神经网络层容器并添加了全连接层,同时设置正则化和激活函数,compile设置了学习率0.1的SGD优化器和损失函数(经过了softmax的概率分布输出,那么该参数设置为False),fit喂入数据集和标签并设置batch和epoch,切分数据集0.8:0.2,并且是20次epoch会验证一次准确率,最后打印神经网络模型如下:

结果: 

以上是简单的六步法tf.keras创建神经网络模型

参考链接:

https://www.icourse163.org/learn/PKU-1002536002?tid=1452937471#/learn/content?type=detail&id=1231348069&cid=1249387128

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tensorflow2.1中的tf.keras.sequential是一种创建顺序模型的方法。顺序模型是最简单的神经网络模型,也是最常用的模型。在这个方法中,我们可以将一系列的层按照顺序添加到模型中。 首先,我们需要导入Tensorflow和tf.keras库。接下来,我们可以使用tf.keras.sequential()函数创建一个空的顺序模型。 接下来,我们可以使用add()方法依次添加各个层到模型中。例如,我们可以使用Dense层添加全连接层,使用Conv2D层添加卷积层,使用MaxPooling2D层添加池化层等。每个层都可以设置不同的参数,例如激活函数、输入大小、输出大小等。 在添加完所有层之后,我们可以使用compile()方法配置模型的优化器、损失函数和评估指标。优化器用于定义模型的训练方式,损失函数用于定义模型的优化目标,评估指标用于评估模型的性能。 最后,我们可以使用fit()方法来训练模型。在fit()方法中,我们需要传入训练数据和标签,并设置一些参数,例如训练轮数、批大小等。训练完成后,我们可以使用evaluate()方法评估模型在测试数据上的性能,使用predict()方法对新数据进行预测。 总而言之,tf.keras.sequential是Tensorflow2.1中创建顺序模型的一种方法,它可以方便地添加、配置和训练各种神经网络层,并用于解决各种机器学习和深度学习任务。它是一种非常有用且易于使用的工具。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值