“Hello 神经网络!”

神经网络搭建和参数计算

在pytorch中定义深度神经网络其实就是层堆叠的过程,继承自nn.Module,实现两个方法:

  • _init_方法中定义网络中的层结构,主要是全连接层,并进行初始化
  • forward方法,在实例化模型的时候,底层会自动调用该函数。该函数中为初始化定义的
    layer传入数据,进行前向传播等。

code

python 复制代码
'''
神经网络搭建
步骤:准备数据-搭建神经网络-模型训练-模型测试

搭建神经网络步骤:定义一个类,继承nn.Module
               在__init__方法中定义网络的层
               在forward方法中定义网络的前向传播
'''
from cgi import print_arguments
import torch
import torch.nn as nn
from torchsummary import summary
import sys
sys.stdout.reconfigure(encoding='utf-8')  # Python 3.7+ 支持
#todo:搭建神经网络
class ModelDemo(nn.Module):
    #在__init__方法中定义网络的层
    def __init__(self):
        super().__init__()
        #搭建神经网络:隐藏层+输出层
        #隐藏层
        self.linear1=nn.Linear(3,3)
        self.linear2=nn.Linear(3,2)
        #输出层
        self.output=nn.Linear(2,2)

        #对隐藏层进行初始化
        nn.init.xavier_normal_(self.linear1.weight)
        nn.init.zeros_(self.linear1.bias)
        nn.init.xavier_normal_(self.linear2.weight)
        nn.init.zeros_(self.linear2.bias)
    

    def forward(self,x):
        #隐藏层:加权求和+激活函数
        #分解版写法
        # x=slef.liner1(x)
        # x=torch.sigmoid(x)
        #合并版
        x=torch.sigmoid(self.linear1(x))
        x=torch.relu(self.linear2(x))
        #dim=-1表示按行计算 
        x=torch.softmax(self.output(x),dim=-1)

        return x

def train():
    #创建模型
    model=ModelDemo()
    # print('我的模型:',model)

    #创建数据集
    data=torch.randn(size=(5,3))
    print('我的数据集:',data)
    print('我的数据集的形状:',data.shape)
    print('我的数据集的是否自动微分:',data.requires_grad)

    #调用神经网络
    output=model(data)
    print('我的输出:',output)
    print('我的输出的形状:',output.shape)
    print('我的输出的是否自动微分:',output.requires_grad)

    #计算和查看模型参数
    print('==============计算模型参数数===============')
    summary(model,input_size=(5,3))

    print('==============查看模型参数数===============')
    for name,param in model.named_parameters():
        print('神经网络层级:',name)
        print('参数:',param)
        print('--------------------------')

if __name__ == '__main__':
    train()
   
相关推荐
chushiyunen1 分钟前
知识图谱笔记
人工智能·笔记·知识图谱
隐层漫游者7 分钟前
2026年了,你还只会用Transformer?揭秘翻译模型的“老祖宗”:从矩阵乘法到Attention机制,手把手教你打造属于你的英译法AI
深度学习
逻辑君8 分钟前
认知神经科学研究报告【20260062】
人工智能·机器学习
qq_411262429 分钟前
四博 AI 双目智能音箱方案升级:四路触控、姿态感应、震动反馈、语音克隆和专属知识库全融合
人工智能·智能音箱
Yeats_Liao10 分钟前
智能感知低功耗设计:MCU上的AI异常检测与能效优化
人工智能·单片机·物联网·neo4j
Akttt10 分钟前
Evaluating Object Hallucination in Large Vision-Language Models
人工智能·深度学习·计算机视觉
NiceCloud喜云12 分钟前
Claude 进入法律行业:AI 正在重构专业服务工作流
人工智能·重构
橘白31612 分钟前
rl笔记(一):策略梯度更新算法推导
人工智能·算法·机器人·强化学习
深度智能Ai17 分钟前
云声配音免费AI语音合成,300+真人音色、40+语种全开
人工智能·语音合成·免费语音合成·在线语音合成
程序员JerrySUN18 分钟前
Jetson边缘嵌入式实战课程第三讲:L4T 与 Jetson 系统架构
linux·服务器·人工智能·安全·unity·系统架构·游戏引擎