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

相关推荐
无心水24 分钟前
15、云原生架构设计理论与实践 核心考点与学习笔记
笔记·学习·云原生·架构师·软考·系统架构设计师·软考系统架构设计师
动词ing36 分钟前
【学习笔记】51单片机 独立按键控制LED显示二进制
笔记·学习·51单片机
叼烟扛炮1 小时前
Linux 学习笔记(三十九):网络基石——TCP/IP 模型与 UDP 实战
linux·运维·网络·笔记·学习·tcp/ip
闲云野鹤在人间1 小时前
头秃修炼手册:StorageClass+StatefulSet+ETCD 全套渡劫笔记
linux·数据库·笔记·云原生·kubernetes·etcd
派大猩猩_1 小时前
选题散在 20 篇笔记里?Nutstore Sync在 Obsidian 里创建选题小工具,创作动线短一半
笔记·obsidian·obsidian插件·obsidian ai
前进的李工1 小时前
Agent 学习笔记 04:KV Cache 与上下文缓存
笔记·学习·缓存·agent·注意力机制·kv cache·prompt cache
Z21-X1 小时前
云原生运维笔记:打通OpenStack的任督二脉——从Neutron网络踩坑到Swift与Heat硬核实战
运维·笔记·学习·云原生
旖旎夜光1 小时前
LCR 170:交易逆序对的总数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
摇滚侠10 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
小向是个Der10 小时前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本