加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何编写PyTorch序列模型?

发布时间:2020-12-20 12:13:18 所属栏目:Python 来源:网络整理
导读:到目前为止,我在Keras写了我的MLP,RNN和CNN,但现在PyTorch在深度学习社区中越来越受欢迎,所以我也开始学习这个框架.我是Keras顺序模型的忠实粉丝,它使我们能够非常快速地制作简单的模型.我还看到PyTorch具有此功能,但我不知道如何编写代码.我试过这种方式 im
到目前为止,我在Keras写了我的MLP,RNN和CNN,但现在PyTorch在深度学习社区中越来越受欢迎,所以我也开始学习这个框架.我是Keras顺序模型的忠实粉丝,它使我们能够非常快速地制作简单的模型.我还看到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: ‘Sequential’ object has no attribute ‘add’

另外,如果可能的话,你能在PyTorch序列模型中给出RNN和CNN模型的简单例子吗?

解决方法

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

正如您可以在documentation nn.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)

这将导致代码的结构类似,直接添加.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读