Keras的两种模型:序列模型(Sequential)和通用模型(Model)
文章目录
- 一.序列模型(Sequential)
- 1.1 list构造
- 1.2 add()构造
- 二.通用模型(Model)
Keras中有两种不同的模型:序列模型(Sequential)和通用模型(Model)
一.序列模型(Sequential)
序列模型的两种创建方式:list构造和add()构造
1.1 list构造
通过向Sequential模型传递一个layer的list来构造该模型:
from keras.models import Sequential
from keras.layers import Dense, Activationlayers = [Dense(32, input_shape = (784,)),Activation('relu'),Dense(10),Activation('softmax')]model = Sequential(layers)
1.2 add()构造
通过add逐层向Sequential中添加layer
from keras.models import Sequential
from keras.layers import Dense, Activationmodel = Sequential() # 定义模型
model.add(Dense(units=64, activation='relu', input_dim=100)) # 定义网络结构
model.add(Dense(units=10, activation='softmax')) # 定义网络结构
model.compile(loss='categorical_crossentropy', # 定义loss函数、优化方法、评估标准optimizer='sgd',metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, batch_size=32) # 训练模型
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) # 评估模型
classes = model.predict(x_test, batch_size=128) # 使用训练好的数据进行预测
二.通用模型(Model)
from keras.layers import Input, Dense
from keras.models import Model# 输入层,确定输入维度
input = input(shape = (784, ))
# 2个隐含层,每个都有64个神经元,使用relu激活函数,且由上一层作为参数
x = Dense(64, activation='relu')(input)
x = Dense(64, activation='relu')(x)
# 输出层
y = Dense(10, activation='softmax')(x)model = Model(inputs=input, outputs=y)
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(data, labels)
注意⚠️,在新版的keras中model = Model(inputs=input, outputs=y)
中的inputs和outpus不再是之前的input和output,注意加s!
优点:
- 1、 每个layer实例都是可以调用的,它返回一个tensor
- 2、 输入tensor和输出tensor可以用来定义一个Model
- 3、 函数式的模型也可以像 Sequential模型一样训练。
Keras的两种模型:序列模型(Sequential)和通用模型(Model)相关推荐
- mpls工作原理通俗解释_用这两种方法向最终用户解释NLP模型的工作原理还是不错的...
点击上方关注,All in AI中国 上周,我看了一个关于"NLP的实践特性工程"的演讲.主要是关于LIME和SHAP在文本分类可解释性方面是如何工作的. 我决定写一篇关于它们的文 ...
- 根据树的两种遍历序列求第三种遍历序列
只知道先序序列和后序序列是无法求出唯一的树,所以不做讨论. #include<iostream> #include<cstdio> #include<cstring> ...
- 数据结构与算法:已知二叉树两种遍历序列,求第三种遍历序列
在笔试题目中经常碰到此类题目,已知先序遍历序列和中序遍历序列,求后序序列或者已知中序序列和后序序列,求先序遍历序列.其中若已知先序序列和后序序列,无法唯一确定一棵树,所以就无法得知中序序列. 1.已知 ...
- Keras中的两种模型:Sequential和Model
在Keras中有两种深度学习的模型:序列模型(Sequential)和通用模型(Model).差异在于不同的拓扑结构. 序列模型 Sequential 序列模型各层之间是依次顺序的线性关系,模型结构通 ...
- 测量模型不确定性的两种简单方法
在本文中,我们将介绍两种方法,它们允许你获得模型的不确定性:蒙特卡罗Dropout法(MC Dropout)和深度集成法. 它们适用于各种各样的任务,但在本文中,我们将展示一个图像分类的示例.它们都相 ...
- 两个小模型就能吊打大模型!北大校友、谷歌华人一作「模型集合」,CNN、Transformer都适用!...
视学算法报道 编辑:小咸鱼 [新智元导读]华人研究员Wang Xiaofang在Google Research实习期间的研究证明,即使是少量简单模型的集合也可以匹配或超过最先进模型的精度,同时效率 ...
- (论文加源码)基于DEAP的脑电情绪识别(CNN,RNN和两种不同的注意力机制)
论文及源码见个人主页:https://download.csdn.net/download/qq_45874683/85063985 (论文加源码)基于DEAP的脑电情绪识别(CNN,RNN和两种不同 ...
- 基于模型的强化学习比无模型的强化学习更好?错!
作者 | Carles Gelada and Jacob Buckman 编辑 | DeepRL 来源 | 深度强化学习实验室(ID:Deep-RL) [导读]许多研究人员认为,基于模型的强化学习(M ...
- 独家 | 哪个更好:一个通用模型还是多个专用模型?
作者:Samuele Mazzanti翻译:欧阳锦 校对:赵茹萱本文约3900字,建议阅读10分钟本文通过实验验证了一个通用模型优于多个专用模型的有效性的结论. 比较专门针对不同群体训练多个 ML 模 ...
- ASP.Net的两种开发模式
原文出处: Edison Chou的博客(@周旭龙) 欢迎分享原创到伯乐头条 一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebFo ...
最新文章
- Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)
- tomcat安装部署
- C语言中单目运算符的结合方向是,C语言运算符的结合性
- SpringBoot+MyBatis+ElementUI中对于时间格式化问题的处理
- 天牛须matlab,基于天牛须搜索算法(BAS)优化BP神经网络的权值阈值代码
- echo和@echo_如何在Echo Show和Echo Spot上切换到24小时时钟
- [开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码
- 51单片机 16*64LED单红点阵屏驱动测试,上位机改字软件免费版
- 【Java】睡眠排序
- 写一个简单的实时互动小游戏
- Oracle Enterprise Manager Cloud Control 12c 概述
- js获取html标签中的数据
- UCF101数据集提取帧+TDN部署(Anaconda+Python3.7+Pytorch)
- 用ps制作LOGO(个人向)
- 一阶梯度法、二阶段梯度法、牛顿法
- IDC基础知识-名词解释
- SCI论文撰写——Conclusion
- matlab 双均线,双均线策略
- 【作业】随机数+参数可变的方法+实验任务(输出素数+使用递归,判断是否为回文+统计一篇英语问斩单词出现频率)...
- Linux下多个进程可以同时打开同一个文件吗?文件描述符与打开文件的关系?
热门文章
- Java多线程系列--“JUC锁”03之 公平锁(一) (r)
- js去空格 回车 制表符 换页符
- 货币市场基金基础知识
- 股票交易手续费怎么计算
- Linux修改文件保存时报错E45: 已设定选项 ‘readonly‘ (请加 ! 强制执行)
- 那个北大毕业去卖猪肉的已经50岁了,他现在在干嘛?又是人生的一个转折点?...
- php mb_eregi_replace 只替换一个,php正则ereg ereg_replace eregi eregi_replace split
- RTKLIB(二)——RTKPOST
- node_modules删不掉
- 微信公众号客服系统可以实现自动回复吗?