深度学习_01
文章平均质量分 86
入门
StarPrayers.
靡不有初,鲜克有终。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深度学习 GPU 两种使用方法
深度学习训练中,GPU凭借其众核架构和高内存带宽,能大幅加速矩阵运算和梯度下降等并行计算任务。相比CPU,GPU可将训练时间从"天"级压缩到"小时"级。PyTorch提供了两种GPU使用方法:分散式迁移需对模型、数据等逐一进行GPU判断迁移,代码较冗余;集中式迁移则先定义目标设备,再统一使用to(device)方法迁移所有对象,代码更简洁高效。以CIFAR-10为例,使用GPU训练可将时间从数小时缩短至十几分钟,显著提升效率。原创 2025-10-23 17:53:06 · 956 阅读 · 0 评论 -
(补)CNN 模型搭建与训练:PyTorch 实战 CIFAR10 任务的应用
本文介绍了如何利用训练好的CIFAR10模型进行单图预测。主要包括:1)重新定义与原训练一致的Prayer网络结构;2)对输入图像进行标准化预处理(32x32 RGB转Tensor);3)调整输入维度适配批量推理;4)加载训练模型进行无梯度预测;5)输出10类别的预测分数及最可能类别索引。整个过程实现了从离线训练模型到实时预测工具的转化,最终输出结果需对照CIFAR10类别表解读。关键点在于确保推理环境与训练条件完全匹配,包括模型结构、输入尺寸和数据格式的一致性。原创 2025-10-23 17:09:07 · 1154 阅读 · 0 评论 -
神经网络中的 HWC→CHW 格式转换
HWC(高度、宽度、通道)和CHW(通道、高度、宽度)是神经网络中两种数据格式。CHW格式更符合主流框架(如PyTorch)要求,能提升计算效率,减少内存访问延迟,并与预训练模型兼容。转换方法包括使用NumPy的transpose或PyTorch的permute函数进行维度置换。CHW格式有利于优化GPU计算性能,适配深度学习框架的卷积操作要求。原创 2025-10-23 15:19:07 · 1395 阅读 · 0 评论 -
深度学习中的优化器
深度学习优化器是模型训练的关键组件,负责根据梯度调整网络参数以最小化损失函数。常见优化器包括SGD(简单稳定但收敛慢)、SGD+Momentum(加速收敛)、AdaGrad(适合稀疏数据)、RMSprop和Adam(结合动量和自适应学习率,推荐首选)。在PyTorch中,优化器使用分为三步:初始化、清空梯度、反向传播和参数更新。关键超参数包括学习率(需合理设置和衰减)、动量(默认0.9)和权重衰减(防过拟合)。建议优先使用Adam优化器,对稀疏数据可选AdaGrad,追求极致性能可尝试调优SGD+Momen原创 2025-10-23 14:36:19 · 922 阅读 · 0 评论 -
CNN 模型搭建与训练:PyTorch 实战 CIFAR10 任务
本文详细介绍了使用PyTorch实现CIFAR10图像分类任务的完整流程。主要内容包括:1)数据准备,使用torchvision加载和预处理CIFAR10数据集;2)模型定义,构建包含卷积层、池化层和全连接层的CNN网络;3)训练过程,包括损失函数、优化器设置,以及训练/测试循环的实现;4)结果评估,通过TensorBoard可视化训练损失和准确率曲线。文章提供了完整的代码实现和关键步骤说明,帮助读者理解深度学习图像分类任务的基本流程和实现方法。原创 2025-10-23 14:03:41 · 826 阅读 · 0 评论 -
模型结构(学习笔记)
本文详细讲解了如何修改VGG16模型的输出层结构以适配CIFAR10数据集(10分类)。主要内容包括:1)修改必要性:原始VGG16为ImageNet设计,输出1000维,需调整为10维;2)两种修改策略:对预训练模型采用"新增输出层"方式保留迁移学习优势,对非预训练模型直接"替换输出层"减少参数冗余;3)具体操作步骤与验证方法,包括定位classifier层、修改输出维度、测试输出结果等;4)总结出通用修改模板,可应用于其他模型适配新分类任务的场景。通过本文可系统掌原创 2025-10-19 10:20:38 · 670 阅读 · 0 评论 -
损失函数(Loss Function)、反向传播(Backward Propagation)和优化器(Optimizer)学习笔记
本文介绍了深度学习中损失函数和反向传播的核心概念。损失函数(如交叉熵损失CrossEntropyLoss)用于衡量模型预测与真实标签的差异,通过计算前向传播结果与目标值的差异得到损失值。反向传播则通过result_loss.backward()自动计算各参数的梯度,为优化器更新参数提供依据。文中以CIFAR10分类任务为例,展示了从数据加载、模型定义、前向传播到损失计算和反向传播的完整流程,并解释了关键参数的含义和作用。原创 2025-10-18 20:18:11 · 1001 阅读 · 0 评论 -
卷积神经网络(CNN)入门实践及Sequential 容器封装
本文介绍了CNN模型的两种构建方式及其可视化方法。通过对比"分步骤定义层"和"Sequential容器封装"两种实现方式,展示了如何构建包含卷积层、池化层、全连接层等核心模块的CNN模型。具体讲解了每层的作用和关键参数,并提供了完整的代码示例。还介绍了使用TensorBoard可视化模型结构的方法,通过add_graph函数生成计算图,便于理解模型架构。最后指出这种经典CNN结构适合作为图像分类任务的基准模型,可应用于CIFAR-10等数据集分类任务。全文内容实践性强原创 2025-10-17 21:42:05 · 634 阅读 · 0 评论 -
用 PyTorch 搭建 CIFAR10 线性分类器:从数据加载到模型推理全流程解析
super(Prayer, self).__init__() # 继承nn.Module的初始化方法# 定义线性层:输入维度3072,输出维度10(1)继承nn.Module的意义nn.Module是 PyTorch 中所有神经网络模块的基类,自定义模型必须继承它。自动管理模型中的可训练参数(比如线性层的权重和偏置);支持前向传播(forward方法)和反向传播(自动求导);提供模型保存、加载、移动到 GPU 等便捷功能。(2)的作用这行代码是 "子类调用父类初始化方法" 的标准写法,目的是。原创 2025-10-17 20:55:19 · 993 阅读 · 0 评论 -
神经网络中的非线性激活函数:从原理到实践
本文深入探讨了神经网络中激活函数的核心作用。非线性激活函数赋予神经网络学习复杂模式的能力,避免了仅能进行线性变换的局限。文章详细解析了Sigmoid、Tanh、ReLU及其变体等多种激活函数的特性、适用场景和优缺点,并给出了不同情境下的选择策略。通过可视化代码直观展示了各函数的形状特征,帮助理解其数学本质。最后强调,激活函数是神经网络的"灵魂",合理选择对模型性能至关重要,需要根据具体任务和实验结果进行权衡。原创 2025-10-12 14:30:32 · 1385 阅读 · 0 评论 -
池化 (Pooling) 学习笔记
本文介绍了卷积神经网络中的池化操作,重点阐述了最大池化(MaxPooling)的工作原理和实现方法。池化层通过降维、增强平移不变性和防止过拟合来优化网络性能。文章详细讲解了使用PyTorch实现最大池化的代码流程,包括数据准备、网络定义和TensorBoard可视化对比。此外,还概述了平均池化、全局池化等其他常见池化方法及其应用场景。不同池化操作各有特点,实际应用中需根据任务需求选择最合适的类型。原创 2025-10-12 13:05:56 · 829 阅读 · 0 评论 -
卷积层(Convolutional Layer)学习笔记
摘要:卷积层是CNN的核心组件,通过卷积核在输入数据上滑动提取局部特征,生成特征图。3×3卷积核是最常用尺寸,能平衡特征提取能力和计算效率。卷积层具有局部连接、权值共享和位移不变性等优势,大幅减少参数量的同时保持强大特征提取能力。PyTorch中的nn.Conv2d模块实现二维卷积操作,支持调整通道数、步长和填充等参数。卷积层广泛应用于图像分类、目标检测等领域,并衍生出转置卷积、深度可分离卷积等变体。可视化代码展示了3×3卷积核处理5×5输入的完整过程。原创 2025-10-08 22:31:19 · 1559 阅读 · 0 评论 -
关于可视化卷积核和特征图的深度理解
本文介绍了如何使用PyTorch和Matplotlib可视化卷积神经网络中的卷积核和特征图。代码提供了两个核心功能:1)可视化卷积核,展示模型学习到的特征提取方式;2)可视化特征图,显示输入图像经过卷积处理后的响应结果。通过这两个可视化工具,可以直观理解CNN的工作原理:浅层卷积核通常检测边缘、纹理等基础特征,而深层卷积核学习更复杂的语义特征。文中还提供了自定义模型和预训练模型(VGG16)的演示示例,帮助用户观察不同卷积核处理输入后的特征变化。这些可视化工具将抽象的卷积操作转化为可理解的图像展示,有助于分原创 2025-09-29 21:53:56 · 761 阅读 · 0 评论 -
Dataset 和 DataLoader
在PyTorch等框架中,Dataset和DataLoader是数据处理的核心组件。Dataset负责数据存储和单个样本读取,通过__getitem__和__len__方法定义数据访问方式。DataLoader基于Dataset实现高效批处理,支持数据打乱、并行加载等功能,为模型训练提供迭代接口。二者分工明确:Dataset定义"读什么",DataLoader控制"怎么喂",共同构建高效数据管道,是深度学习工作流的关键部分。原创 2025-09-28 14:22:17 · 454 阅读 · 0 评论 -
transforms学习笔记
PyTorch transforms是图像预处理工具集,主要用于数据格式转换(如PIL转Tensor)、图像增强(缩放/裁剪/旋转)和标准化处理。核心操作包括ToTensor(归一化像素值并调整维度)、Normalize(标准化)、Resize(调整尺寸)和RandomCrop(随机裁剪)。通过Compose可组合多个变换,训练集通常使用随机裁剪翻转等增强操作,验证集则仅需基础转换。这些工具与DataLoader配合使用,能有效提升模型泛化能力,尤其在数据有限时,数据增强技术尤为重要。原创 2025-09-24 21:14:05 · 1110 阅读 · 0 评论 -
关于pycharm高版本导入torch的问题
B站小土堆PyTorch安装教程存在版本兼容问题,适用于PyCharm2025.2.1的解决方案如下:1)通过Anaconda Prompt创建python=3.10的conda环境;2)根据显卡选择安装对应版本的PyTorch;3)在PyCharm配置时关键要选择Scripts/conda.exe而非python.exe;4)最后在设置中添加已有解释器路径。该方案解决了高版本PyCharm无法识别环境的问题,经版本号验证即可确认安装成功。完整教程可参考提供的两个B站视频链接。原创 2025-09-18 15:48:27 · 852 阅读 · 0 评论 -
Tensorboard学习记录
Tensorboard是机器学习实验的可视化工具,支持PyTorch和TensorFlow。核心功能包括标量可视化(如损失值、准确率)、图像展示(输入/输出/中间层)、模型结构可视化等。使用流程:1)安装tensorboard库;2)通过SummaryWriter写入日志数据;3)启动服务查看结果。进阶用法包括多指标对比、特征图可视化、权重分布跟踪、高维数据降维等。需注意路径处理、端口占用等问题。该工具通过直观展示实验过程,帮助开发者优化模型,是机器学习工作流中的重要组件。原创 2025-09-22 20:02:47 · 1036 阅读 · 0 评论
分享