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 的均值 / 方差)。

作业:

@浙大疏锦行

相关推荐
用户77833661321111 小时前
用 React Hook 封装搜索数据:useSerp 的防抖、缓存与错误处理
python·api
65岁退休Coder15 小时前
LangGraph v1.2.9 节点容错策略 & 流式输出 & 持久化记忆管理
后端·python·langchain
ikun_文18 小时前
Django框架路由Router的使用
python·pycharm·django
IvanCodes18 小时前
Python 基础语法(二):字符串与常用操作
python
昭昭日月明18 小时前
LangChain 生态:从链到代理,开发者需要掌握的三大核心
python·langchain·agent
Csvn18 小时前
🐍 Day 8:面向对象编程
后端·python
程序员天天困18 小时前
向量检索不准怎么办:混合检索与 Rerank 重排序召回优化实战
后端·python·ai编程
alphaTao20 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
苏灿烤鱼20 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"
python·开源·agent
张文君20 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python