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)
相关推荐
2401_8315017310 分钟前
Python学习之Day07-08学习(Django网页Web开发)
python·学习·django
bnsarocket20 分钟前
Verilog和FPGA的自学笔记5——三八译码器(case语句与锁存器)
笔记·fpga开发·verilog·自学
摇滚侠2 小时前
Spring Boot 3零基础教程,自动配置机制,笔记07
spring boot·笔记·后端
JJjiangfz2 小时前
杭电 神经网络与深度学习 学习笔记
深度学习·神经网络·学习
聪明的笨猪猪6 小时前
Java Redis “持久化”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
聪明的笨猪猪6 小时前
Java Redis “核心基础”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
繁花与尘埃9 小时前
HTML5简介与基本骨架(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
笔记·学习·html5
东方芷兰9 小时前
LLM 笔记 —— 04 为什么语言模型用文字接龙,图片模型不用像素接龙呢?
人工智能·笔记·深度学习·语言模型·自然语言处理
Rock_yzh10 小时前
AI学习日记——卷积神经网络(CNN):完整实现与可视化分析
人工智能·python·深度学习·神经网络·学习·cnn
Test.X11 小时前
学习16天:pytest学习
学习·pytest