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

作者:鹊踏枝-码农 时间:2021-08-24 07:53:35 

深度学习库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的一些优点。

来源:https://blog.csdn.net/u011501388/article/details/83584015

标签:Keras,Sequential,PyTorch
0
投稿

猜你喜欢

  • python3实现字符串的全排列的方法(无重复字符)

    2022-04-14 19:47:56
  • Django文件存储 自己定制存储系统解析

    2023-09-17 13:06:25
  • 怎样使MySQL在攻击者面前保持安全

    2008-11-17 20:09:00
  • sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】

    2011-09-30 11:09:37
  • django中forms组件的使用与注意

    2021-03-11 00:14:04
  • 苹果的“创新”

    2010-01-12 13:45:00
  • Go标准容器之Ring的使用说明

    2023-09-21 02:18:14
  • Python写一个简单的api接口的实现

    2023-07-23 20:20:53
  • Python搭建代理IP池实现存储IP的方法

    2023-04-21 10:58:24
  • 腾讯网QQ首页诞生的艰辛历程

    2008-11-06 11:05:00
  • PHP中生成UUID自定义函数分享

    2023-11-14 16:57:04
  • Python机器学习实战之k-近邻算法的实现

    2022-02-06 03:02:09
  • python ansible服务及剧本编写

    2022-11-18 02:51:20
  • { hide_text } CSS文字隐藏总结报告

    2010-06-13 17:19:00
  • IE下绝对定位的元素不能响应鼠标的bug修正

    2008-09-10 13:03:00
  • js随机永不重复数

    2011-04-25 19:26:00
  • Request.ServerVariables各参数说明集合

    2008-11-25 18:49:00
  • asp如何用HtmlEncode来显示Unicode编码?

    2010-06-12 12:49:00
  • Python语法分析之字符串格式化

    2021-10-09 18:00:09
  • Python实现配置文件备份的方法

    2021-06-11 01:39:03
  • asp之家 网络编程 m.aspxhome.com