如何编写一个PyTorch顺序模型? [英] How to write a PyTorch sequential model?

查看:0
本文介绍了如何编写一个PyTorch顺序模型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

到目前为止,我用Kera写了我的MLP、RNN和CNN,但现在PyTorch在深度学习社区中越来越受欢迎,所以我也开始学习这个框架。我非常喜欢Kera中的顺序模型,它可以让我们非常快速地制作简单的模型。我还看到了PyTorch具有此功能,但我不知道如何编写它。我试过这种方法

import torch
import torch.nn as nn

net = nn.Sequential()
net.add(nn.Linear(3, 4))
net.add(nn.Sigmoid())
net.add(nn.Linear(4, 1))
net.add(nn.Sigmoid())
net.float()

print(net)

但出现此错误

AttributeError:‘Sequence’对象没有‘Add’属性

另外,如果可能的话,你能举一个简单的例子,说明PYTorch序贯模型中的RNN和CNN模型吗?

推荐答案

Sequential目前没有add方法,尽管有一些关于添加此功能的debate

如您在documentationnn.Sequential中所读到的,documentationnn.Sequential以参数序列或OrderedDict作为参数。

如果您的模型有很多层,您可以先创建一个列表,然后使用*运算符将该列表展开为位置参数,如下所示:

layers = []
layers.append(nn.Linear(3, 4))
layers.append(nn.Sigmoid())
layers.append(nn.Linear(4, 1))
layers.append(nn.Sigmoid())

net = nn.Sequential(*layers)

这将导致代码的结构类似于直接添加。

这篇关于如何编写一个PyTorch顺序模型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆