tensorflow中tf.keras.models.Sequential()用法

2023-11-12

tensorflow中tf.keras.models.Sequential()用法

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

model = tf.keras.models.Sequential([网络结构])  #描述各层网络

网络结构举例:

拉直层:tf.keras.layers.Flatten() #拉直层可以变换张量的尺寸,把输入特征拉直为一维数组,是不含计算参数的层

全连接层:tf.keras.layers.Dense(神经元个数,

                                                      activation = "激活函数“,

                                                      kernel_regularizer = "正则化方式)

其中:activation可选 relu 、softmax、 sigmoid、 tanh等

           kernel_regularizer可选 tf.keras.regularizers.l1() 、tf.keras.regularizers.l2()

卷积层:tf.keras.layers.Conv2D(filter = 卷积核个数,

                                                   kernel_size = 卷积核尺寸,

                                                   strides = 卷积步长,

                                                   padding = ”valid“ or "same")

LSTM层:tf.keras.layers.LSTM()

                                                                                   

 

实例代码:

#第一步,import
import tensorflow as tf #导入模块
from sklearn import datasets #从sklearn中导入数据集
import numpy as np #导入科学计算模块
import keras

#第二步,train, test
x_train = datasets.load_iris().data #导入iris数据集的输入

y_train = datasets.load_iris().target #导入iris数据集的标签

np.random.seed(120) #设置随机种子,让每次结果都一样,方便对照

np.random.shuffle(x_train) #使用shuffle()方法,让输入x_train乱序

np.random.seed(120) #设置随机种子,让每次结果都一样,方便对照

np.random.shuffle(y_train) #使用shuffle()方法,让输入y_train乱序

tf.random.set_seed(120) #让tensorflow中的种子数设置为120

#第三步,models.Sequential()
model = tf.keras.models.Sequential([ #使用models.Sequential()来搭建神经网络
    tf.keras.layers.Dense(3, activation = "softmax", kernel_regularizer = tf.keras.regularizers.l2()) #全连接层,三个神经元,激活函数为softmax,使用l2正则化
])

#第四步,model.compile()
model.compile(  #使用model.compile()方法来配置训练方法
    optimizer = tf.keras.optimizers.SGD(lr = 0.1), #使用SGD优化器,学习率为0.1
    loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False), #配置损失函数
    metrics = ['sparse_categorical_accuracy'] #标注网络评价指标
)

#第五步,model.fit()
model.fit(  #使用model.fit()方法来执行训练过程,
    x_train, y_train, #告知训练集的输入以及标签,
    batch_size = 32, #每一批batch的大小为32,
    epochs = 500, #迭代次数epochs为500
    validation_split = 0.2, #从测试集中划分80%给训练集
    validation_freq = 20 #测试的间隔次数为20
)

#第六步,model.summary()
model.summary() #打印神经网络结构,统计参数数目

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tensorflow中tf.keras.models.Sequential()用法 的相关文章

随机推荐

  • 每日算法-回文链表

    题目 请判断一个链表是否为回文链表 示例 1 输入 1 gt 2 输出 false 示例 2 输入 1 gt 2 gt 2 gt 1 输出 true 进阶 你能否用 O n 时间复杂度和 O 1 空间复杂度解决此题 解法 思路一 先把链表的
  • QGIS自定义地图工具

    官方示例 首先看一下官方文档中的矩形工具源码 class RectangleMapTool QgsMapToolEmitPoint def init self canvas self canvas canvas QgsMapToolEmit
  • fatal: pathspec ‘fileName‘ did not match any files 解决办法

    再删除文件的时候突然出现了这个问题 fatal pathspec fileName did not match any files 分析如下 这个文件怎么回事 为什么删不掉 难道是分支的错误 还是怎么回事 产生原因 该文件存在于 gitig
  • C语言----实现有向图/无向图的创建与基本操作(深度、广度优先遍历)

    最近发现一个不错的项目 Github上数据结构所有算法源码实现 数据结构 严蔚敏 吴伟民 教材源码与习题解析 1 图的数组 邻接矩阵 存储表示 包含算法 有向图 无向图创建 添加顶点 删除边 插入边 深度优先遍历 递归 广度优先遍历 队列实
  • 跨平台的桌面应用程序开发框架Electron

    electron electron Stars 109 3k License MIT Electron 是一个基于 Node js 和 Chromium 的开源框架 允许使用 JavaScript HTML 和 CSS 编写跨平台的桌面应用
  • Elasticsearch系列---聚合查询原理

    概要 本篇主要介绍聚合查询的内部原理 正排索引是如何建立的和优化的 fielddata的使用 最后简单介绍了聚合分析时如何选用深度优先和广度优先 正排索引 聚合查询的内部原理是什么 Elastichsearch是用什么样的数据结构去执行聚合
  • linux 下交换 esc与cap的方法。

    有两种方法 1 xmodmap 2 dconf editer 操作如下图所示 xkb options 改为图片所示
  • STM32项目 -- 选题分享(部分)

    前言 分享部分STM32项目选题以及实现效果 暂时没有分享代码 列表 编号 项目名称 难度 使用器件 实现效果 1 基于STM32的智能万用表设计 3 STM32F103C8T6 OLED 1 测量电压 2 OLED显示测量值 3 实现层级
  • ASP.NET-----Repeater数据控件的用法总结

    一 Repeater控件的用法流程及实例 1 首先建立一个网站 新建一个网页index aspx 2 添加或者建立APP Data数据文件 然后将用到的数据库文件放到APP Data文件夹中 3 打开数据库企业管理器 数据库服务器为loca
  • 【帧同步】关于状态同步的经验分享

    方案 低延迟环境下 比如国内 局域网情况下 写个同步那都不是难事 是个客户端看点书就会写了 难点在于 如何去处理 高延迟 以及及时响应的情况 我举个例子 fps或者tank游戏中 子弹和炮弹的射速是很快的 如果两边在对轰过程中 又碰到了 附
  • Qt (ui界面)信号与槽函数 组件连接

    重点 信号与槽连接机制 难点 信号与槽函数的 参数使用 头函数 ifndef WIDGET H define WIDGET H include
  • 登录页面,表单提交,参数不显示

    一开始的form
  • curl下载文件

    我的个人博客 逐步前行STEP curl url o filename progress 下载url的内容到文件filename中 并显示下载进度
  • 深度学习面试八股文(2023.9.06)

    一 优化器 1 SGD是什么 批梯度下降 Batch gradient descent 遍历全部数据集算一次损失函数 计算量开销大 计算速度慢 不支持在线学习 随机梯度下降 Stochastic gradient descent SGD 每
  • 三种常用的排序方法图解及C语言实现(选择排序,冒泡排序,快速排序)

    选择排序 冒泡排序 快速排序 选择排序 选择排序是最简单直观的一种算法 选择排序是不稳定排序 基本思想 首先在未排序序列中找到最小 大 元素 存放到排序序列的起始位置 然后 再从剩余未排序元素中继续寻找最小 大 元素 然后放到已排序序列的末
  • 迷宫 蓝桥杯 602

    题目描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 下图给出了一个迷宫的平面图 其中标记为 1 的为障碍 标记为 0 的为可以通行的地方 010000 000100 001001 110000 迷宫的入口为左上
  • Java中的锁详解说明

    转自 Java中的锁详解说明 下文笔者讲述java中锁的详解 如下所示 java锁简介 锁与synchronized同步块具有同样的功能 是一种线程同步机制 但锁比Java中的synchronized同步块更复杂 因为锁是由synchron
  • 【Fiddler】从零开始学习Fiddler

    文章目录 Fiddler的工作原理 Fiddler的代理模式 1 流模式 Streaming 2 缓冲模式 Buffering Fiddler工具条按钮介绍 如何使用Fiddler抓取https包 如何使用Fiddler抓取手机包 Fidd
  • conda & yaml

    conda导出已有环境 环境会被保存在environment yaml文件中 conda env export gt environment yaml 当我们想再次创建该环境 或根据别人提供的 yaml文件复现环境时 就可以通过下面的命令来
  • tensorflow中tf.keras.models.Sequential()用法

    tensorflow中tf keras models Sequential 用法 Sequential 方法是一个容器 描述了神经网络的网络结构 在Sequential 的输入参数中描述从输入层到输出层的网络结构 model tf kera