欢迎访问宙启技术站
智能推送

使用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的层是激活函数层。