土堆学习笔记——P29完整的模型训练套路(三)

一些细节:

在训练前 有一个tudui.train()的作用:

如果网络里有dropout/batchnorm等层,就需要用到tudui.train(),也就是没有这些层的话,tudui.train()没用调用不调用都行
在测试前 有一个tudui.eval()的作用:

同上

整个训练逻辑:

  1. 准备数据
  2. dataloader加载数据集
  3. 创建网络模型(看注释a
  4. 定义损失函数、优化器
  5. 设置训练网络的一些参数,如训练的次数、测试的次数、训练的轮数等
  6. (可选)添加tensorboard
  7. 开始第一轮训练,每轮训练包括 { 从dataloader取数据for data in train_dataloader,优化器优化模型,输出提示信息等 }
  8. 测试,最好要有with torch.no_grad(): { 可以自己定义一些指标,还有损失 }
  9. 展示网络在数据集上的效果,保存模型为.pth或者.pt等 { 官方推荐的保存方法为,torch.save(tudui.state_dict(), "tudui_{}.pth".format(i)),这样可以以字典形式保存模型的参数,不保存别的,少占内存 }

注释a: 创建网络模型为tudui = Tudui(),至于class Tudui,可以在另一个.py文件中,之后使用from在头文件那里引进来

相关推荐
留白_6 分钟前
【tableau入门学习】6、盒须图、靶心图、四象限图、甘特图、直方图
学习·甘特图
MSTcheng.14 分钟前
【Linux学习】Linux学习第四弹——Linux基本指令3
linux·windows·学习·操作系统·指令
lihaihui199116 分钟前
STM32 学习
学习
Jul1en_33 分钟前
Matt 与 Uncle Bob 的播客访谈有感
开发语言·经验分享·笔记·ai·开源·github·ai编程
是隼人37 分钟前
buuctf-pwn jarvisoj_level5(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
驭渊的小故事1 小时前
算法训练笔记:添加逗号、跳台阶、扑克牌顺子
笔记
噜~噜~噜~2 小时前
操作系统笔记-3.1.1.3 进程的内存映像
笔记·操作系统
摇滚侠2 小时前
《Spring Boot 3:高级与架构设计》第 2 章 IOC容器的高级机制 Environment 阅读笔记 4
spring boot·笔记·后端
春风解人意10 小时前
从零开始学习嵌入式P32----网络基础之TCP
c语言·网络·学习·tcp/ip
李帅朋11 小时前
微分基本定义笔记
人工智能·笔记·深度学习·神经网络