浅谈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中列表和元组的相关语句和方法讲解
Aug 20 Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
Python实现自动上京东抢手机
Feb 06 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
python编写俄罗斯方块
Mar 13 Python
python安装后的目录在哪里
Jun 21 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
Python中对象的比较操作==和is区别详析
Feb 12 Python
详解Python openpyxl库的基本应用
Feb 26 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顺序查找和二分查找示例
2014/03/27 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
如何在PHP中使用数组
2020/06/09 PHP
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
基于Python函数和变量名解析
2019/07/19 Python
Python Json数据文件操作原理解析
2020/05/09 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
军训的自我鉴定
2013/12/10 职场文书
大学生就业策划书范文
2014/04/04 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
canvas 中如何实现物体的框选
2022/08/05 Javascript
python中validators库的使用方法详解
2022/09/23 Python