【1】nn.Sequential()模块
当模型中只是简单的前馈网络时,即上一层的输出直接作为下一层的输入,这时可以采用nn.Sequential()模块来快速搭建模型,而不必手动在forward()函数中一层一层地前向传播。
因此,如果想快速搭建模型而不考虑中间过程的话,推荐使用nn.Sequential()模块。
【2】代码
sequentialmodel.py
# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# Name: sequentialmodel
# Description:
# Author: Administrator
# Date: 2020/12/7
#-------------------------------------------------------------------------------
'''
当模型中只是简单的前馈网络时,即上一层的输出直接作为下一层的输入,
这时可以采用nn.Sequential()模块来快速搭建模型,
而不必手动在forward()函数中一层一层地前向传播。
'''
from torch import nn
class Perception(nn.Module):
def __init__(self,in_dim,hid_dim,out_dim):
super(Perception, self).__init__()
self.layer=nn.Sequential(
nn.Linear(in_dim,hid_dim),
nn.Sigmoid(),
nn.Linear(hid_dim,out_dim),
nn.Sigmoid()
)
def forward(self,x):
y=self.layer(x)
return y
testSequentialmodel.py
# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# Name: testSequentialmodel
# Description:
# Author: Administrator
# Date: 2020/12/7
#-------------------------------------------------------------------------------
import torch
from sequentialmodel import Perception
model=Perception(100,1000,10)
print(model)
[3]结果展示