浅谈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实现linux服务器批量修改密码并生成execl
Apr 22 Python
使用Python脚本将Bing的每日图片作为桌面的教程
May 04 Python
Python读取word文本操作详解
Jan 22 Python
python list转矩阵的实例讲解
Aug 04 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 Python
解决c++调用python中文乱码问题
Jul 29 Python
python里反向传播算法详解
Nov 22 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
python 通过exifread读取照片信息
Dec 24 Python
详解python日志输出使用配置文件格式
Feb 10 Python
python装饰器代码深入讲解
Mar 01 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
smarty模板数学运算示例
2016/12/11 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
JavaScript 原型继承
2011/12/26 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
浅谈python中set使用
2016/06/30 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
python小白切忌乱用表达式
2020/05/29 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
大学生就业自荐信
2013/10/26 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
安全责任书范本
2014/04/15 职场文书
预备党员自我评价范文
2015/03/04 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
Python+Appium新手教程
2021/04/17 Python