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

作业:

@浙大疏锦行

相关推荐
装不满的克莱因瓶2 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz2 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
biter down8 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
肖永威9 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks9 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
不知名的老吴9 小时前
线程的生命周期之线程“插队“
java·开发语言·python
xsc69967510 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
无风听海12 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者12 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
马士兵教育12 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习