浅谈Keras的Sequential与PyTorch的Sequential的区别


Posted in Python onJune 17, 2020

深度学习库Keras中的Sequential是多个网络层的线性堆叠,在实现AlexNet与VGG等网络方面比较容易,因为它们没有ResNet那样的shortcut连接。在Keras中要实现ResNet网络则需要Model模型。

下面是Keras的Sequential具体示例:

可以通过向Sequential模型传递一个layer的list来构造该模型:

from keras.models import Sequential
from keras.layers import Dense, Activation
 
model = Sequential([
Dense(32, input_dim=784),
Activation('relu'),
Dense(10),
Activation('softmax'),
])

也可以通过.add()方法一个个的将layer加入模型中:

model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))

Keras可以通过泛型模型(Model)实现复杂的网络,如ResNet,Inception等,具体示例如下:

from keras.layers import Input, Dense
from keras.models import Model
 
# this returns a tensor
inputs = Input(shape=(784,))
 
# a layer instance is callable on a tensor, and returns a tensor
x = Dense(64, activation='relu')(inputs)
x = Dense(64, activation='relu')(x)
predictions = Dense(10, activation='softmax')(x)
 
# this creates a model that includes
# the Input layer and three Dense layers
model = Model(input=inputs, output=predictions)
 
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
 
model.fit(data, labels) # starts training

在目前的PyTorch版本中,可以仅通过Sequential实现线性模型和复杂的网络模型。PyTorch中的Sequential具体示例如下:

model = torch.nn.Sequential(
 torch.nn.Linear(D_in, H),
 torch.nn.ReLU(),
 torch.nn.Linear(H, D_out),
)

也可以通过.add_module()方法一个个的将layer加入模型中:

layer1 = nn.Sequential()
layer1.add_module('conv1', nn.Conv2d(3, 32, 3, 1, padding=1))
layer1.add_module('relu1', nn.ReLU(True))
layer1.add_module('pool1', nn.MaxPool2d(2, 2))

由上可以看出,PyTorch创建网络的方法与Keras类似,PyTorch借鉴了Keras的一些优点。

以上这篇浅谈Keras的Sequential与PyTorch的Sequential的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用三角迭代计算圆周率PI的方法
Mar 20 Python
使用python加密自己的密码
Aug 04 Python
python数据清洗系列之字符串处理详解
Feb 12 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
python使用minimax算法实现五子棋
Jul 29 Python
python创建与遍历List二维列表的方法
Aug 16 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
Django--权限Permissions的例子
Aug 28 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
详解Pytorch显存动态分配规律探索
Nov 17 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
Keras之fit_generator与train_on_batch用法
Jun 17 #Python
基于Keras的格式化输出Loss实现方式
Jun 17 #Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 #Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 #Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 #Python
Java如何基于wsimport调用wcf接口
Jun 17 #Python
使用keras内置的模型进行图片预测实例
Jun 17 #Python
You might like
超级简单的php+mysql留言本源码
2009/11/11 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
js切换光标示例代码
2013/10/10 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
python实现按长宽比缩放图片
2018/06/07 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
Python连接Impala实现步骤解析
2020/08/04 Python
详解python对象之间的交互
2020/09/29 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
大一军训感言
2014/01/09 职场文书
2014年政教处工作总结
2014/12/20 职场文书
辅导员学期工作总结
2015/08/14 职场文书