day45

  1. 彩色和灰度图片测试和训练的规范写法:

封装在函数中

由于彩色图(3 通道)和灰度图(1 通道)的输入格式不同,但训练 / 测试的核心逻辑(前向传播、损失计算、指标评估)是通用的,因此需将训练、测试逻辑封装为独立函数,实现 "一次编写、多场景复用"。

  1. 展平操作:除第一个维度 batchsize 外全部展平

展平操作用于将多维特征转换为一维向量,以便输入全连接层(全连接层仅接受一维输入)。

核心规则:保留第 0 维(batchsize),将后续所有维度展平为一维。

常用实现方式

torch.flatten(input, start_dim=1):从start_dim开始展平;

torch.view(-1, num_features):通过形状变换展平(需手动计算展平后的特征数)。

  1. dropout 操作:训练阶段随机丢弃神经元,测试阶段 eval 模式关闭 dropout

Dropout是防止过拟合的常用方法,其训练 / 测试阶段的行为不同:

训练阶段:随机丢弃一部分神经元,迫使模型学习更鲁棒的特征;

测试阶段:不丢弃神经元(否则会降低模型性能),但需将所有神经元的输出乘以(1-p),保证输出分布与训练阶段一致。

如何自动切换 dropout 状态?

PyTorch 中通过model.train()和model.eval()自动控制:

model.train():切换到训练模式,启用 dropout;

model.eval():切换到测试模式,关闭 dropout(同时固定 BatchNorm 的均值 / 方差)。

作业:

@浙大疏锦行

相关推荐
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89181 天前
Python主流框架全解析
开发语言·python
sg_knight1 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财1 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据1 天前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
Hui Baby1 天前
springboot读取配置文件
后端·python·flask
阿Y加油吧1 天前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python