使用Python的CreateNet()函数进行神经网络构建
发布时间:2023-12-27 22:30:02
CreateNet()函数是一个自定义函数,用于构建神经网络。下面是一个使用Python的CreateNet()函数进行神经网络构建的例子:
import torch
import torch.nn as nn
def CreateNet():
# 构建神经网络结构
net = nn.Sequential(
nn.Linear(10, 20), # 输入层到隐藏层的线性变换
nn.ReLU(), # 隐藏层的非线性激活函数
nn.Linear(20, 10), # 隐藏层到输出层的线性变换
nn.Sigmoid() # 输出层的非线性激活函数
)
return net
# 创建一个具有2个隐藏层的神经网络
net = CreateNet()
# 打印神经网络结构
print(net)
在上面的例子中,我们定义了一个CreateNet()函数,该函数使用了PyTorch库中的nn模块。在函数中,我们通过nn.Sequential()来依次定义神经网络的层。其中:
- nn.Linear(10, 20)表示输入层到隐藏层的线性变换,10是输入层的大小(输入特征的数量),20是隐藏层的大小(隐藏层神经元的数量)。
- nn.ReLU()表示隐藏层的非线性激活函数,这里使用ReLU。
- nn.Linear(20, 10)表示隐藏层到输出层的线性变换,20是隐藏层的大小(输入特征的数量),10是输出层的大小(输出特征的数量)。
- nn.Sigmoid()表示输出层的非线性激活函数,这里使用Sigmoid。
在函数末尾,我们返回构建好的网络net。
在主程序中,我们调用CreateNet()函数,实例化一个具有2个隐藏层的神经网络。然后,我们使用print(net)打印神经网络的结构。
运行以上代码,输出结果如下所示:
Sequential( (0): Linear(in_features=10, out_features=20, bias=True) (1): ReLU() (2): Linear(in_features=20, out_features=10, bias=True) (3): Sigmoid() )
结果显示我们成功创建了一个具有2个隐藏层的神经网络,并打印出了网络的结构信息。其中,编号为0和2的层是线性变换层,编号为1和3的层是激活函数层。
