浅谈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程序设计入门(2)变量类型简介
Jun 16 Python
python正则表达式中的括号匹配问题
Dec 14 Python
Python中__init__.py文件的作用详解
Sep 18 Python
python range()函数取反序遍历sequence的方法
Jun 25 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
django框架cookie和session用法实例详解
Dec 10 Python
PyTorch中反卷积的用法详解
Dec 30 Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 Python
Python实现计算图像RGB均值方式
Jun 04 Python
Python类成员继承重写的实现
Sep 16 Python
爬虫代理的cookie如何生成运行
Sep 22 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
大师制作的中短波矿石收音机
2020/04/02 无线电
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
python处理按钮消息的实例详解
2017/07/11 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python读取文件名称生成list的方法
2018/04/27 Python
python使用turtle库绘制树
2018/06/25 Python
浅析Python函数式编程
2018/10/06 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
经济管理毕业生求职信
2014/03/15 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
博士给导师的自荐信
2015/03/06 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
Python实现排序方法常见的四种
2021/07/15 Python