基于pytorch神经网络模型搭建训练流程

文章目录

    • 1.定义头文件
    • 2.定义 dataloader
    • 3.定义⽹络(Net)
    • 4.定义损失函数和优化器
    • 5.训练⽹络(⽬的是得出最佳参数的⽹络)

模型搭建
模型搭建步骤:
基于pytorch神经网络模型搭建训练流程_第1张图片

1.定义头文件

import torch as t
import torchvision as tv #数据处理,导入、预览
import torchvision.transforms as transforms #数据变换
from torch.autograd import Variable #梯度
import torch.nn as nn #实现神经网络相关功能的包
import torch.nn.functional as F
import torch.optim as optim #优化器

2.定义 dataloader

主要函数:
tv.datasets: 数据路径,是训练集还是测试集,是否需要下载,预处理
基于pytorch神经网络模型搭建训练流程_第2张图片

t.utils.data.Dataloader:导⼊数据,制定batch_size
在这里插入图片描述

tv.transform.Compose:数据预处理的操作集,如将数据转为T ensor格式,归⼀化等
基于pytorch神经网络模型搭建训练流程_第3张图片

主要需要加载训练集和测试集

3.定义⽹络(Net)

⽤⼀个名为Net的类定义 ,需要继承torch.nn中的nn.Module(注意M⼤写)
Net类包括初始化函数和forward函数两部分

1)初始化:init(self): 放置有可学习参数的层
a)对nn.Module初始化: super(Net, self)init()
b)定义卷积和全连接操作(⽤到nn.Conv2d(), nn.Linear())
2)前向操作:forward(self, x)
输⼊x,按照⽹络前向传播步骤,调⽤初始化中定义的卷积和全连接操作,得到最后输出,并return x;

4.定义损失函数和优化器

损失函数评估结果与label间的差距,通过backward损失函数,可以计算出每个参数的梯度,然后通过优化器调整参数
损失函数nn中已定义好
优化器在optim中定义好,调⽤即可
基于pytorch神经网络模型搭建训练流程_第4张图片

5.训练⽹络(⽬的是得出最佳参数的⽹络)

1)获取训练数据和标签
2)数据输⼊⽹络,前向传播
3)⽹络输出和标签输⼊损失函数,求得损失
4)清零优化器
5)损失反向传播
6)更新优化器,更新参数
7)累加损失,信息打印,⽤于监测每个batch的平均损失,主要看损失有没有变⼩ .
训练好⽹络类后创建⼀个⽹络,即net=Net()
基于pytorch神经网络模型搭建训练流程_第5张图片

你可能感兴趣的:(pytorch,深度学习,神经网络,深度学习)