Iridescent:Day33

https://blog.csdn.net/weixin_45655710?type=blog
@浙大疏锦行

DAY 33 MLP 神经网络的训练

知识点回顾:

  1. PyTorch和桃的安装
    2.查看显卡信息的命令行命令(cmd中使用)
    3.桃的检查
    4.简单神经网络的流程
    a.数据预处理(归一化、转换成张量)
    b.模型的定义
    i.继承nn.Module类
    ii.定义每一个层
    iii.定义前向传播流程
    c.定义损失函数和优化器
    d.定义训练流程
    e.可视化loss过程

你今天主要学习了基于PyTorch框架实现多层感知机(MLP)来解决鸢尾花分类问题的完整流程,涵盖了环境配置、数据处理、模型构建和训练的核心环节。

核心内容梳理

1. 环境准备与CUDA检查
  • 环境配置 :创建了名为DL的conda环境(Python 3.8),安装了pytorch、scikit-learn等核心依赖;区分了CPU/GPU版本的PyTorch安装,GPU版本需依赖NVIDIA显卡的CUDA/CUDNN组件。
  • CUDA验证 :通过nvidia-smi命令查看显卡支持的最高CUDA版本和显存,通过PyTorch代码检查CUDA是否可用、设备数量/名称、实际安装的CUDA版本。
2. 数据预处理(鸢尾花数据集)
  • 加载数据集并划分训练集/测试集(测试集占比20%);
  • 对特征数据做MinMaxScaler归一化(神经网络对输入尺度敏感,需统一范围);
  • 将NumPy数组转换为PyTorch张量(特征为FloatTensor,标签为LongTensor,适配分类任务)。
3. MLP模型定义
  • 继承nn.Module构建自定义MLP类,包含:
    • 输入层(nn.Linear(4, 10)):4个特征→10个隐藏神经元;
    • 激活函数(ReLU):引入非线性,解决线性模型表达能力不足的问题;
    • 输出层(nn.Linear(10, 3)):10个隐藏神经元→3个分类结果(无激活,因交叉熵损失内置Softmax);
  • 实现forward方法定义前向传播逻辑(两种写法:显式调用ReLU层/直接用torch.relu)。
4. 模型训练(CPU版本)
  • 损失函数:选用nn.CrossEntropyLoss(适配多分类任务);
  • 优化器:可选SGD(固定学习率0.01)或Adam(自适应学习率0.001);
  • 训练循环核心步骤:
    1. 前向传播:模型预测训练集输出;
    2. 计算损失:预测值与真实标签的误差;
    3. 反向传播:optimizer.zero_grad()清零梯度(避免累积)→loss.backward()计算梯度→optimizer.step()更新参数;
    4. 记录并打印每100轮的损失值,最后可视化损失曲线。

总结

  1. 核心流程:深度学习项目的基础范式是「环境配置→数据预处理→模型定义→损失/优化器设置→训练迭代→结果可视化」;
  2. 关键细节 :神经网络需归一化输入、分类任务标签用LongTensor、输出层无需激活(交叉熵损失内置Softmax)、训练时必须清零梯度;
  3. 硬件适配:GPU(NVIDIA)通过CUDA加速并行计算,无NVIDIA显卡可先用CPU版本训练,后续迁移到云服务器GPU。

这些内容覆盖了PyTorch实现简单神经网络的全流程,是后续复杂深度学习项目的基础,重点要理解梯度下降、激活函数、损失函数在训练中的作用。

图1:PyTorch环境配置与CUDA检查流程图。展示从创建conda环境到验证CUDA可用性的完整步骤,包含关键命令和代码片段。

图2:鸢尾花数据集预处理流程图。呈现从数据加载、划分、归一化到张量转换的全过程,标注数据维度变化。

图3:MLP模型架构图。可视化三层神经网络结构,标注各层输入输出维度和激活函数位置。

图4:模型训练循环流程图。展示前向传播、损失计算、反向传播和参数更新的迭代过程,包含关键代码片段。

相关推荐
傻啦嘿哟5 小时前
Python爬虫进阶:反爬机制突破与数据存储实战指南
开发语言·爬虫·python
2301_764441335 小时前
基于Streamlit构建的风水命理计算器
开发语言·python
@Mr Wang5 小时前
云服务器之使用jupyter运行ipynb文件
服务器·python·jupyter·notebook
Python私教5 小时前
Jupyter是什么?如何安装使用?
ide·python·jupyter
Salt_07285 小时前
DAY 42 图像数据与显存
人工智能·python·机器学习
q_30238195565 小时前
双能突围!能源高效型模型压缩+碳足迹追踪,解锁数据中心与农业AI新价值
人工智能·python·深度学习·能源·课程设计·ai编程
赫凯5 小时前
【强化学习】第三章 马尔可夫决策过程
python·算法
Daily Mirror5 小时前
Day42 Dataset和Dataloader
python
智航GIS5 小时前
1.2 python及pycharm的安装
开发语言·python·pycharm