如何编写一个PyTorch顺序模型? [英] How to write a PyTorch sequential model?
本文介绍了如何编写一个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。
nn.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屋!
查看全文