详解Keras3.0 Models API: Model class

1、语法

keras.Model()

将不同层组为具有训练/推理特征的对象的模型 

2、示例一

inputs = keras.Input(shape=(37,))
x = keras.layers.Dense(32, activation="relu")(inputs)
outputs = keras.layers.Dense(5, activation="softmax")(x)
model = keras.Model(inputs=inputs, outputs=outputs)

inputs = keras.Input(shape=(37,))keras.Input函数用于创建一个输入张量,其中shape=(37,)表示输入张量的形状为一个长度为37的一维向量。

x = keras.layers.Dense(32, activation="relu")(inputs),定义一个全连接层(也称为密集层),名为x。该层的神经元数量为32,激活函数为ReLU(Rectified Linear Unit)。通过将inputs作为输入传递给Dense层,可以将输入数据传递到该层进行处 

outputs = keras.layers.Dense(5, activation="softmax")(x),定义了另一个全连接层,名为outputs。与上一层不同,该层的神经元数量为5,激活函数为Softmax。Softmax函数通常用于多分类问题的最后一层,它将输出转换为概率分布,使得每个类别的概率之和为1

model = keras.Model(inputs=inputs, outputs=outputs),将inputsoutputs分别指定为模型的输入和输出,可以构建一个完整的神经网络模型

3、示例二

#定义了一个输入张量,形状为 (None, None, 3),其中 None 表示该维度可以是任意大小。这个输入张量代表了一个具有任意尺寸和通道数的图像数据
inputs = keras.Input(shape=(None, None, 3))#使用 RandomCrop 层来随机裁剪输入图像。它将输入图像裁剪为宽度为 128、高度为 128 的区域。裁剪后的图像作为下一层的输入
processed = keras.layers.RandomCrop(width=128, height=128)(inputs)#使用卷积层(Conv2D)来处理经过随机裁剪后的图像。卷积层的参数包括过滤器数量(filters=32)和卷积核的大小(kernel_size=3)。卷积层将学习从输入图像中提取特征
conv = keras.layers.Conv2D(filters=32, kernel_size=3)(processed)#使用全局平均池化层(GlobalAveragePooling2D),用于将卷积层的输出进行降维。全局平均池化层将每个特征图的像素值求平均,得到一个一维向量,从而减少模型的参数数量并降低计算复杂度
pooling = keras.layers.GlobalAveragePooling2D()(conv)#使用全连接层(Dense),将全局平均池化层的输出映射到一个具有 10 个神经元的特征向量。全连接层可以学习从输入特征中提取更复杂的特征表示
feature = keras.layers.Dense(10)(pooling)#创建一个名为 full_model 的完整模型,它接受输入张量 inputs 并输出特征向量 feature。通过调用 keras.Model 函数,我们可以将输入和输出层连接起来,形成一个可训练的模型
full_model = keras.Model(inputs, feature)#创建一个名为 backbone 的模型,它接受经过随机裁剪后的图像作为输入,并输出经过卷积层处理后的特征图。这个模型可以用作其他模型的骨干网络,提取出有用的特征表示
backbone = keras.Model(processed, conv)#创建一个名为 activations 的模型,它接受经过卷积层处理后的特征图作为输入,并输出经过全局平均池化层处理后的特征向量。这个模型可以用于可视化卷积层的激活情况,帮助我们理解模型在提取特征时的行为
activations = keras.Model(conv, feature) 

inputs = keras.Input(shape=(None, None, 3)),定义了一个输入张量,形状为 (None, None, 3),其中 None 表示该维度可以是任意大小。这个输入张量代表了一个具有任意尺寸和通道数的图像数据

processed = keras.layers.RandomCrop(width=128, height=128)(inputs),使用 RandomCrop 层来随机裁剪输入图像。它将输入图像裁剪为宽度为 128、高度为 128 的区域。裁剪后的图像作为下一层的输入

conv = keras.layers.Conv2D(filters=32, kernel_size=3)(processed),使用卷积层(Conv2D)来处理经过随机裁剪后的图像。卷积层的参数包括过滤器数量(filters=32)和卷积核的大小(kernel_size=3)。卷积层将学习从输入图像中提取特征

pooling = keras.layers.GlobalAveragePooling2D()(conv),使用全局平均池化层(GlobalAveragePooling2D),用于将卷积层的输出进行降维。全局平均池化层将每个特征图的像素值求平均,得到一个一维向量,从而减少模型的参数数量并降低计算复杂度

feature = keras.layers.Dense(10)(pooling),使用全连接层(Dense),将全局平均池化层的输出映射到一个具有 10 个神经元的特征向量。全连接层可以学习从输入特征中提取更复杂的特征表示

full_model = keras.Model(inputs, feature),创建一个名为 full_model 的完整模型,它接受输入张量 inputs 并输出特征向量 feature。通过调用 keras.Model 函数,我们可以将输入和输出层连接起来,形成一个可训练的模型

backbone = keras.Model(processed, conv),创建一个名为 backbone 的模型,它接受经过随机裁剪后的图像作为输入,并输出经过卷积层处理后的特征图。这个模型可以用作其他模型的骨干网络,提取出有用的特征表示

activations = keras.Model(conv, feature) ,创建一个名为 activations 的模型,它接受经过卷积层处理后的特征图作为输入,并输出经过全局平均池化层处理后的特征向量。这个模型可以用于可视化卷积层的激活情况,帮助我们理解模型在提取特征时的行为

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

58.Nacos源码分析2

三、服务心跳。 3.服务心跳 Nacos的实例分为临时实例和永久实例两种,可以通过在yaml 文件配置: spring:application:name: order-servicecloud:nacos:discovery:ephemeral: false # 设置实例为永久实例。true:临时; false:永久ser…

MySQL-备份+日志:介质故障与数据库恢复

目录 第1关:备份与恢复 第2关:备份日志:介质故障的发生与数据库的恢复 第1关:备份与恢复 任务描述 本关任务: 备份数据库,然后再恢复它。 test1_1.sh # 你写的命令将在linux的命令行运行 # 对数据库residents作海…

【C/C++笔试练习】多态的概念、虚函数的概念、虚表地址、派生类的虚函数、虚函数的访问、指针引用、动态多态、完全数计算、扑克牌大小

文章目录 C/C笔试练习选择部分(1)多态的概念(2)虚函数的概念(3)虚表地址(4)派生类的虚函数(5)虚函数的访问(6)分析程序(7&…

C# WPF上位机开发(会员管理软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 好多同学都认为上位机只是纯软件开发,不涉及到硬件设备,比如听听音乐、看看电影、写写小的应用等等。如果是消费电子&#…

HibernateJPA快速搭建

1. 先创建一个普通Maven工程&#xff0c;导入依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depe…

Java 匿名内部类使用的外部变量,为什么一定要加 final?

问题描述 Effectively final Java 1.8 新特性&#xff0c;对于一个局部变量或方法参数&#xff0c;如果他的值在初始化后就从未更改&#xff0c;那么该变量就是 effectively final&#xff08;事实 final&#xff09;。 这种情况下&#xff0c;可以不用加 final 关键字修饰。 …

报错:Parsed mapper file: ‘file mapper.xml 导致无法启动

报错 &#xff1a; Logging initialized using class org.apache.ibatis.logging.stdout.StdOutImpl adapter. Registered plugin: com.github.yulichang.interceptor.MPJInterceptor3b2c8bda Parsed mapper file: file [/Mapper.xml] application无法启动 我这边产生原因是项…

K8S学习指南(4)-minikube的使用

文章目录 简介安装 Minikube启动 Minikube 集群基本概念创建和管理资源1. 创建 Pod2. 创建 Deployment3. 创建 Service 监视和调试1. 查看集群状态2. 查看集群信息3. 访问 Kubernetes Dashboard4. 使用 kubectl 命令 清理资源1. 删除 Pod2. 删除 Deployment3. 删除 Service4. 停…

! [remote rejected] master -> master (pre-receive hook declined)

! [remote rejected] master -> master (pre-receive hook declined) 如图&#xff1a; 出错解决方法 首先输入命令 git branch xindefenzhi然后&#xff0c;进入这个新创建的分支 git checkout branch然后重新git push就可以了

爬虫学习-基础库的使用(urllib库)

目录 一、urllib库介绍 二、request模块使用 &#xff08;1&#xff09;urlopen ①data参数 ②timeout参数 &#xff08;2&#xff09;request &#xff08;3&#xff09;高级用法 ①验证 ②代理 ③Cookie 三、处理异常 ①URLError ②HTTPError 四、解析链接 ①urlparse ②…

LeetCode-10. 正则表达式匹配

LeetCode-10. 正则表达式匹配 问题分析算法描述程序代码CGo 问题分析 这道题的难点主要在于*号的匹配&#xff0c;这里记dp[i][j]表示s[1...i]和p[1...j]能否完成匹配&#xff0c;先根据特殊情况归纳总结&#xff1a; *号匹配 0 次&#xff0c;则dp[i][j] dp[i][j-2]*号匹配…

Mybatis源码解析4:获取Session、Mapper

Mybatis源码解析4&#xff1a;获取Session、Mapper 1.项目结构2. 源码分析2.1 获取Session DefaultSqlSessionFactory#openSession2.2 获取Mapper DefaultSqlSession#getMapper 1.项目结构 2. 源码分析 2.1 获取Session DefaultSqlSessionFactory#openSession private SqlSe…

利用人工智能算法解决内存垃圾回收问题

内存垃圾回收是计算机领域中的一个重要问题&#xff0c;可以利用人工智能算法解决此问题。常用的人工智能算法包括遗传算法、模拟退火算法、禁忌搜索算法等。 其中&#xff0c;遗传算法是一种基于自然选择和遗传进化的算法&#xff0c;可以用于优化问题。在内存垃圾回收中&…

Python实战演练之Python实现一个简单的天气查询应用

今天&#xff0c;晓白给大家分享Python实现一个简单的天气查询应用&#xff0c;帮助大家获取实时的天气信息&#xff0c;内容仅供学习交流。 首先&#xff0c;我们需要安装一个名为"requests"的Python库&#xff0c;它可以帮助我们发送HTTP请求并获取响应数据。你可…

Kernel(一):基础

本文主要讨论210的kernel基础相关知识。 内核驱动 驱动是内核中的硬件设备管理模块,工作在内核态,程序故障可能导致内核崩溃,程序漏洞会使内核不安全 根文件系统提供根目录,进程存放在根文件系统中,内核启动最后会装载根文件系统 应用程序不属于内核,…

1828_ChibiOS中的对象FIFO

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 最初的这个理解&#xff0c;当看到后面之后就知道有点偏差了。其实&#xff0c;这个传输就是一个单纯的FIFO而不是两个FIFO之间的什么操作。 2.…

去掉参数中第一个“,”

记录一下&#xff0c;前端传参中&#xff0c;传给我参数是“categoryIds: ,1731557494586241026,1731569816263311362,1731569855534579713,1731858335179223042,1731858366821052418” 但是后端&#xff0c;因为我的mybati是in查询&#xff0c;所以因为第一个是“,”。所以会导…

RabbitMQ安装在Linux系统详细教程

安装教程&#xff1a; 1.首先将下载好的文件上传到服务器&#xff0c;拉到opt文件夹中(可以用xftp&#xff09; 2.输入命令&#xff1a; cd /opt 3.安装erlang rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm rpm -ivh&#xff08;复制配置文件的名字&#xff09; 4.在Rab…

sap增强

四代增强 2种显示增强1种隐式增强 隐式增强 光标放在增强点或其中的代码点击修改即可修改代码 显示增强 1.ENHANCEMENT-POINT 在代码修改界面选择空行 光标所在位置 可以创建多个增强实施且激活后都会执行. 2.ENHANCEMENT-SECTION 1,选中程序中空行 2.编辑->创建选项 …

回顾2023 亚马逊云科技 re_Invent,创新AI,一路同行

作为全球云计算龙头企业的亚马逊云科技于2023年11月27日至12月1日在美国拉斯维加斯举办了2023 亚马逊云科技 re:Invent&#xff0c;从2012年开始举办的亚马逊云科技 re:Invent 全球大会,到现如今2023 亚马逊云科技 re:Invent&#xff0c;回顾历届re:Invent大会&#xff0c;亚马…