土堆学习笔记——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在头文件那里引进来

相关推荐
CosimaLi10 分钟前
CMake学习笔记
笔记·学习
正经教主36 分钟前
【Trae+AI】和Trae学习搭建App_02:后端API开发
学习·app·1024程序员节
岑梓铭44 分钟前
《考研408数据结构》第六章(5.1+5.2+5.3树、二叉树、线索二叉树)复习笔记
数据结构·笔记·考研·408·1024程序员节
源代码•宸44 分钟前
Qt6 学习——一个Qt桌面应用程序
开发语言·c++·经验分享·qt·学习·软件构建·windeployqt
摇滚侠2 小时前
全面掌握 PostgreSQL 关系型数据库,PostgreSQL 介绍,笔记02
数据库·笔记·postgresql
摇滚侠2 小时前
Spring Boot3零基础教程,生命周期监听,自定义监听器,笔记59
java·开发语言·spring boot·笔记
讽刺人生Yan2 小时前
RFSOC学习记录(一)RF data converter总览
学习·fpga开发·rfsoc
张人玉2 小时前
WPF 控件速查 PDF 笔记(可直接落地版)
笔记·microsoft·wpf
Pluchon2 小时前
硅基计划2.0 学习总结 玖 图书管理系统 2.0复盘版(文字末尾源码可复制)
java·学习·项目·源码可复制
摇滚侠2 小时前
Spring Boot3零基础教程,事件驱动开发,设计登录成功后增加积分记录信息功能,笔记61
java·spring boot·笔记·后端