Pytorch学习笔记——神经网络基本框架

一、神经网络是什么

神经网络在人工智能和深度学习的领域,一般称为人工神经网络,即ANN(Artificial Neural Network),是一种模仿人脑神经系统工作方式的计算模型。被广泛应用于人工智能、自动控制、机器人、统计学等领域的信息处理中。

二、如何搭建一个属于自己的神经网络

搭建一个神经网络,需要借用torch中的nn模块,也就是Neural Network(神经网络)模块

还是要遵循以下的步骤:导包------构造神经网络骨架(模型)------定义实体类(调用辅助类或函数)------调用输入数据进行训练------得出训练结果

1、导包

python 复制代码
import torch
from torch import nn

2、搭建神经网络模型

python 复制代码
class W(nn.Module):

    def __init__(self):
        super(W,self).__init__() 

    def forward(self,input):
        output = input + 1
        return output

这个自定义的W神经网络训练模型继承于nn的Module模块。Module模块用于搭建最基本的神经网络骨架,它是所有神经网络模块的基类。

里面需要重写两个函数,一个是构造函数init,一个是前向函数forward(区别于backword反向传播,后面会学习到),super()的作用是调用父类构造函数确保子函数正常运行,在forward中可以写相关的训练操作

可以参考Pytorch的官方文档,里面有对Module的详细介绍

Module --- PyTorch 2.3 documentationhttps://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module

3、利用模型训练

创建神经网络模型实例对象,利用数据进行训练,得出训练结果并输出

注意:输入的类型为tensor张量

python 复制代码
w = W()
x = torch.tensor(1.0)

输出的训练结果为tensor张量

bash 复制代码
tensor(2.)

三、完整代码展示

python 复制代码
# -*- coding: utf-8 -*-
# @Author: hxm
import torch
from torch import nn

class W(nn.Module):

    def __init__(self):
        super(W, self).__init__()

    def forward(self,input):
        output = input + 1
        return output

w = W()
x = torch.tensor(1.0)
output = w(x)
print(output)
相关推荐
宽容人厚载物18 分钟前
芯驰 E3620 XTRG 配置笔记:EB 配置、典型实例与注意事项
笔记
我命由我123452 小时前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee
熊猫钓鱼>_>2 小时前
端侧 NPU 轻量大模型推理接入笔记【鸿蒙心迹】
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙
外收内放2 小时前
FastAPI猜字谜实战(8):收官
开发语言·python·学习·fastapi
David猪大卫2 小时前
【C++修炼】STL容器—stack与queue
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
凯凯姜2 小时前
Ollama 本地部署大语言模型笔记
人工智能·笔记·语言模型
ACP广源盛139246256732 小时前
选型评估笔记:面向轻量化边缘 IO 扩展的 PCIe4.0 交换方案 IX8012@ACP
笔记·硬件架构·pcie·hdmi·国产芯片
克里斯蒂亚诺更新3 小时前
ruoyi项目验证码 登录接口的调用
笔记
fengci.3 小时前
CTF2刷题记录(困难部分)
android·开发语言·前端·学习·php
Nuanyt3 小时前
Agent 学习笔记(下篇二):Claude Code 生态、RAG 与 Memory(Stage 5–6)
笔记·python·memory·rag·aiagent·claude code·agentskill