AI深度学习/PyTorch/神经网络相关
AI深度学习/PyTorch/神经网络相关 龙文浩 工程师的学术研究 2026/4/5“”搭建神经网络步骤1. 继承torch.nn.Module2. 实现函数2.1init__函数2.1.1 初始化父类2.2.2 设置属性值2.2.3 定义神经网络结构隐藏层、输出层2.2.4 初始化参数权重w、偏置b2.2 forward前向传播函数2.2.1 将数据传入神经网络模型2.2.2 对模型进行训练即前向传播过程“”import torch.nn as nnimport torchclass LwhModel(nn.Module):definit(self):# 2.1.1 初始化父类(必须)含环境配置super().init()# 2.2.2 设置属性值(可选)# 2.2.3 定义神经网络结构隐藏层、输出层(必须)# 2.2.3.1 定义隐藏层(in_features上一层神经元的个数out_features本层神经元的个数Linear为线性回归求和)self.linear1 nn.Linear(in_features3,out_features3)self.linear2 nn.Linear(in_features3,out_features2)# 2.2.3.2 定义输出层self.output nn.Linear(in_features2,out_features2)# 2.2.4 初始化参数权重w、偏置b# 2.2.4.1 linear1隐藏层参数初始化:权重weight、偏置biasnn.init.xavier_normal(self.linear1.weight)nn.init.zeros(self.linear1.bias)# 2.2.4.2 linear2隐藏层参数初始化:权重weight、偏置biasnn.init.kaiming_normal_(self.linear2.weight)nn.init.zeros_(self.linear2.bias)def forward(self,data):# 2.2前向传播将张量送入神经网络结构中模型训练后得到预测值# 2.2.1 经过linear1隐藏层先进行线性回归求和self.linear1(data)、再将线性回归求和的输出输入给激活函数torch.sigmoiddata torch.sigmoid(self.linear1(data))# 2.2.2 经过linear2隐藏层先进行线性回归求和self.linear2(data)、再将线性回归求和的输出。输入给激活函数torch.ReLUdata torch.relu(self.linear2(data))# 2.2.3 经过输出层先进行输出层selt.output设置dim-1仅对最后一个维度数据统计输入给激活函数torch.softmax多分类。return torch.softmax(self.output(data), dim-1)验证神经网络模型ifname ‘main’:# 1.创建模型实例model LwhModel()# 2.验证神经网络是否搭建正确print(f模型结构{model}“)# 3.构造输入数据输入形状[batch_size, in_features] → [1,3] 表示1个样本3个特征input_data torch.tensor([[0.5, 0.6, 0.7]], dtypetorch.float32)# 4.前向传播推理预测output model(input_data)# 5.输出结果softmax输出 → 类别概率print(f输入输入{input_data},模型输出{output},输出形状{output.shape},输出和为1验证softmax:{output.sum().item()}”)# 6.获取预测类别pred_class torch.argmax(output, dim-1)print(f预测类别{pred_class.item()})print(“✅ 神经网络模型验证成功”)