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

作业:

@浙大疏锦行

相关推荐
华如锦9 小时前
四:从零搭建一个RAG
java·开发语言·人工智能·python·机器学习·spring cloud·计算机视觉
向阳蒲公英10 小时前
Pycharm2025版本配置Anaconda步骤
python
Darkershadow10 小时前
蓝牙学习之uuid与mac
python·学习·ble
北海有初拥10 小时前
Python基础语法万字详解
java·开发语言·python
Mqh18076210 小时前
day61 经典时序模型3
python
我想吃烤肉肉10 小时前
logger比print优秀之处
python
Cosmoshhhyyy10 小时前
《Effective Java》解读第32条:谨慎并用泛型和可变参数
java·python
Cherry的跨界思维11 小时前
【AI测试全栈:Vue核心】19、Vue3+ECharts实战:构建AI测试可视化仪表盘全攻略
前端·人工智能·python·echarts·vue3·ai全栈·ai测试全栈
海棠AI实验室11 小时前
第十七章 调试与排错:读懂 Traceback 的方法论
python·pandas·调试
2501_9418787411 小时前
在奥克兰云原生实践中构建动态配置中心以支撑系统稳定演进的工程经验总结
开发语言·python