- 博客(36)
- 收藏
- 关注
原创 使用PyTorch实现线性回归:从零实现到高级API
x = torch.normal(0, 1, (num_examples, len(w))) # 生成正态分布的特征y = torch.matmul(x, w) + b # 计算标签 y = Xw + by += torch.normal(0, 0.01, y.shape) # 添加噪声return x, y.reshape((-1, 1)) # 返回特征和列向量形式的标签# 真实参数# 生成1000个样本。
2025-05-02 10:41:42
524
原创 PyTorch线性代数操作详解:点积、矩阵乘法、范数与轴求和
点积torch.dot或逐元素乘法后求和;矩阵乘法torch.mv(矩阵与向量)、torch.mm(矩阵与矩阵);范数计算:L1、L2和Frobenius范数;轴求和:通过sum(axis)控制求和方向,keepdim保留维度。这些操作是深度学习模型实现的基础,熟练掌握可提升张量运算的效率和代码可读性。
2025-05-01 09:37:34
583
2
原创 使用PyTorch进行热狗图像分类模型微调
使用预训练的ResNet18模型print(pretrained_net.fc) # 最后一层全连接层查看# 修改最后一层,以适应我们二分类任务else:本文完整展示了从数据准备到模型训练的热狗分类任务流程。关键步骤包括:使用torchvision加载和预处理图像数据可视化数据集样本构建数据加载管道修改预训练模型进行微调训练和评估分类模型实际应用中可以通过调整数据增强策略、尝试不同网络架构、优化超参数等方式进一步提升模型性能。后续可以扩展为部署到移动端的食品识别应用。注意事项。
2025-04-30 12:50:06
925
原创 基于PyTorch的Fashion-MNIST图像分类数据集处理与可视化
本文从最基础的环境配置、数据下载与处理、可视化展示,到性能测试与函数封装,完整梳理了Fashion-MNIST数据集在PyTorch中的处理流程。下一步,我们可以基于此数据集继续训练深度学习模型,如MLP、多层卷积神经网络(CNN)等。
2025-04-29 12:21:10
826
2
原创 PyTorch卷积层填充(Padding)与步幅(Stride)详解及代码示例
填充用于保持输入输出尺寸一致或调整边缘特征保留。步幅用于降低输出尺寸,减少计算量。通过组合不同参数,可灵活控制卷积层的输出形状。建议读者通过修改参数自行实验,深入理解公式中的数值变化规律。
2025-04-22 21:55:09
1104
原创 使用PyTorch实现图像增广与模型训练实战
图像增广作用:通过随机变换增加数据多样性,提升模型泛化能力组合策略:合理组合几何变换与颜色变换可以达到最佳效果训练技巧使用Xavier初始化保证参数合理分布Adam优化器自动调整学习率多GPU并行加速训练。
2025-04-21 11:40:35
413
原创 PyTorch数据操作基础教程:从张量创建到高级运算
本文通过示例代码全面讲解PyTorch中张量的基本操作,包含创建、运算、广播机制、索引切片等核心功能,并提供完整的代码和输出结果。
2025-04-19 10:22:37
796
4
原创 使用Python实现数据预处理:处理缺失值与张量转换
本文将演示如何通过Python对CSV文件进行数据预处理,包含缺失值填充、分类特征编码及数据张量化操作。全程使用pandas和PyTorch库实现。
2025-04-16 11:29:52
508
原创 PyTorch实现权重衰退:从零实现与简洁实现
print(f"w的L2范数: {torch.norm(net[0].weight).item():.4f}")
2025-04-15 12:56:08
816
原创 批量归一化(Batch Normalization)原理与PyTorch实现
批量归一化(Batch Normalization)是加速深度神经网络训练的常用技术。本文通过Fashion-MNIST数据集,演示如何从零实现批量归一化,并对比PyTorch内置API的简洁实现方式。
2025-04-14 10:31:11
489
原创 使用PyTorch实现目标检测边界框转换与可视化
本文实现了目标检测中边界框的坐标转换与可视化,验证了:两种坐标表示形式的等价性边界框在图像上的准确定位转换函数的正确性该技术可应用于目标检测数据预处理、结果可视化等场景。读者可以尝试修改边界框坐标,观察不同位置的可视化效果。实际运行效果示意图(注:需自行准备包含猫狗的图像,保存为。
2025-04-13 08:19:41
572
原创 PyTorch模型构造实战:从基础到复杂组合
通过继承nn.Module实现自定义模型,灵活定义前向传播逻辑。self.hidden = nn.Linear(20, 256) # 隐藏层self.out = nn.Linear(256, 10) # 输出层# 实例化并推理输出结果:适合快速堆叠层,适用于简单模型。自定义类:通过继承nn.Module实现更灵活的前向传播逻辑。动态操作:可在正向传播中嵌入矩阵运算、循环等复杂操作。组合模型:通过混合不同块构建复杂网络,提升代码复用性。完整代码已通过测试,建议结合实际任务调整模型结构和参数。
2025-04-12 08:17:00
704
原创 PyTorch实现二维卷积与边缘检测:从原理到实战
通过继承nn.Module使用卷积核[[1, -1]]print(y)输出结果解释输出中1表示从白到黑的边缘,-1表示从黑到白的边缘。互相关运算:通过逐窗口计算实现基础的卷积操作。边缘检测:方向特定的卷积核可提取图像边缘特征。参数学习:利用梯度下降可自动学习卷积核参数,无需手动设计。完整代码已验证,读者可自行调整输入或卷积核探索更多效果。提示:实际项目中建议使用PyTorch内置的高效卷积层(如nn.Conv2d),而非手动实现,以充分利用GPU加速。
2025-04-11 09:31:45
897
原创 PyTorch实现多输入输出通道的卷积操作
多输入通道:对每个通道独立进行卷积后求和。多输出通道:通过堆叠多个卷积核实现不同输出。1x1卷积:本质是通道间的线性组合,可通过矩阵乘法高效实现。通过上述代码示例,读者可以深入理解多通道卷积的实现原理,并掌握优化技巧。注意:运行代码需安装PyTorch和d2l库。完整代码请参考文中示例。
2025-04-10 08:48:42
558
2
原创 PyTorch实现全连接神经网络进行Fashion-MNIST分类(附完整代码与训练结果)
定义全连接网络nn.Flatten(), # 将28x28图像展平为784维向量nn.Linear(784, 256), # 输入层到隐藏层nn.ReLU(), # 激活函数nn.Linear(256, 10) # 隐藏层到输出层# 权重初始化函数net.apply(init_weights) # 应用初始化net.to(device) # 转移至GPU(如果可用)
2025-04-09 12:28:49
893
原创 PyTorch多GPU训练实战:从零实现到ResNet-18模型
本文将介绍如何在PyTorch中实现多GPU训练,涵盖从零开始的手动实现和基于ResNet-18的简洁实现。代码完整可直接运行。
2025-04-08 08:55:41
576
原创 PyTorch教程:如何读写张量与模型参数
self.hidden = nn.Linear(20, 256) # 隐藏层self.output = nn.Linear(256, 10) # 输出层# 实例化模型并进行前向传播y = net(x)print(y)输出结果张量读写:直接使用torch.save和torch.load,支持列表和字典。模型参数保存:通过state_dict保存模型状态,加载时需重新实例化模型。验证一致性:加载参数后,输出与原模型一致表明操作成功。
2025-04-07 09:43:31
312
原创 PyTorch池化层详解:原理、实现与示例
return Y池化层的作用:降低特征图维度,保留主要特征,增强模型鲁棒性。参数设置pool_size:池化窗口大小padding:填充像素数stride:滑动步幅多通道处理:池化层在每个通道上独立计算,输出通道数与输入一致。通过灵活调整参数,池化层可以适应不同的输入尺寸和任务需求。读者可尝试修改代码中的参数,观察输出结果的变化以加深理解。完整代码及输出结果已全部验证,可直接运行。建议结合实际问题调整参数以优化模型性能。
2025-04-06 10:12:55
426
原创 PyTorch参数管理详解:从访问到初始化与共享
定义单隐藏层多层感知机nn.Linear(4, 8), # 输入层4维,隐藏层8维nn.ReLU(),nn.Linear(8, 1) # 输出层1维x = torch.rand(2, 4) # 随机生成2个4维输入向量net1(x) # 前向传播# 自定义初始化:权重在[-10,10]均匀分布,并过滤绝对值小于5的值print(net1[0].weight.data[:2]) # 显示前两行权重本文演示了PyTorch中参数管理的核心操作,包括:通过state_dict和访问参数。
2025-04-05 10:52:31
482
原创 使用PyTorch训练VGG11模型:Fashion-MNIST图像分类实战
本文将通过代码实战,详细讲解如何使用 PyTorch 和 VGG11 模型在 Fashion-MNIST 数据集上进行图像分类任务。代码包含数据预处理、模型定义、训练与评估全流程,并附上训练结果的可视化图表。所有代码可直接复现,适合深度学习初学者和进阶开发者参考。确保已安装以下库:2. 代码实现2.1 导入依赖库2.2 数据预处理由于VGG11默认接受RGB三通道输入,需将Fashion-MNIST的灰度图转换为3通道:2.3 加载数据集2.4 定义模型使用PyT
2025-04-04 15:26:13
2019
原创 使用PyTorch实现ResNet:从残差块到完整模型训练
本文实现了ResNet的核心组件——残差块,并构建了一个简化版ResNet模型。通过实验验证,模型在Fashion MNIST数据集上表现良好。读者可尝试调整网络深度或超参数以进一步提升性能。改进方向增加残差块数量构建更深的ResNet(如ResNet-34/50)。使用数据增强策略提升泛化能力。尝试不同的优化器和学习率调度策略。注意事项确保已安装PyTorch和d2l库。GPU环境可显著加速训练,若使用CPU需调整批量大小。希望本文能帮助您理解ResNet的实现细节!
2025-04-03 10:25:48
1045
原创 使用PyTorch实现NiN网络训练Fashion-MNIST(附完整代码)
NiN 的核心思想是通过1x1 卷积增强非线性表达能力,同时减少参数量。其核心模块nin_block包含:普通卷积层(如 11x11 或 5x5)两个 1x1 卷积层(模拟全连接层的作用)这种结构能有效捕捉局部特征并提升模型泛化能力。
2025-04-02 12:07:25
688
原创 使用PyTorch实现LeNet-5并在Fashion-MNIST数据集上训练
本文将展示如何使用PyTorch实现经典的LeNet-5卷积神经网络,并在Fashion-MNIST数据集上进行训练和评估。代码包含完整的网络定义、数据加载、训练流程及结果可视化。1. 导入依赖库2. 定义LeNet-5网络结构通过PyTorch的构建网络,包含卷积层、池化层和全连接层:3. 验证各层输出形状输入随机数据检查网络各层的输出形状:输出结果:4. 加载Fashion-MNIST数据集使用d2l库快速加载数据,设置批量大小为256:5. 定义评估函
2025-04-01 17:39:05
544
原创 在PyTorch中使用GPU加速:从基础操作到模型部署
定义不同设备对象输出本文演示了PyTorch中GPU加速的核心操作,包括设备选择、张量迁移和模型部署。合理利用GPU可显著加速深度学习任务,建议在训练大型模型时优先使用GPU环境。如果遇到CUDA相关错误,请检查驱动版本和PyTorch的GPU支持安装。
2025-03-31 20:56:53
657
原创 使用PyTorch实现GoogleNet(Inception)并训练Fashion-MNIST
GoogleNet(又称Inception v1)是2014年ILSVRC冠军模型,其核心创新是,通过并行多尺度卷积提升特征提取能力。本文将展示如何用PyTorch实现GoogleNet,并在Fashion-MNIST数据集上进行训练。
2025-03-30 10:39:38
488
原创 PyTorch实现Dropout:从零开始与简洁实现对比
Dropout在训练时以概率p随机丢弃神经元,减少神经元间的依赖性;测试时保留所有神经元,并通过缩放(1/(1-p))保持输出期望一致。以下分两部分实现该技术。return x说明mask生成0-1矩阵,保留概率为1-dropout的神经元。输出结果需缩放,确保训练和测试时的期望一致。return out说明网络包含两个隐藏层(256单元),分别在训练时应用不同概率的Dropout。输入为Fashion MNIST图像(28x28=784),输出为10分类。说明使用nn.Dropout。
2025-03-29 09:30:00
753
原创 使用PyTorch实现AlexNet并在Fashion-MNIST上训练(完整代码与结果分析)
AlexNet是深度学习领域的经典卷积神经网络模型。本文基于PyTorch实现了AlexNet的简化版本,并在Fashion-MNIST数据集上进行训练与测试。代码包含模型构建、数据预处理、训练过程及可视化结果,最终测试准确率达83.9%。本文完整实现了AlexNet在Fashion-MNIST上的训练流程,模型测试准确率达83.9%。读者可通过调整超参数或添加数据增强进一步提升性能。完整代码如下,可直接在GPU环境中运行。注:实际训练结果可能因硬件环境略有差异,建议在GPU环境下运行以获得最佳性能。
2025-03-28 09:30:00
1598
原创 使用PyTorch实现U-Net图像分割:从理论到实践
本文完整展示了使用PyTorch实现U-Net图像分割的全过程,包括:数据集准备和预处理U-Net网络架构的实现训练过程和优化策略模型测试和结果保存U-Net因其独特的编码器-解码器结构和跳跃连接,在图像分割任务中表现出色。通过本文的实现,读者可以深入理解U-Net的工作原理,并将其应用于自己的图像分割任务中。希望这篇文章对你理解和实现U-Net有所帮助!如果有任何问题,欢迎在评论区留言讨论。
2025-03-26 16:35:18
792
1
原创 使用PyTorch实现CIFAR-10图像分类任务
本文详细介绍了使用PyTorch和Torchvision库实现CIFAR-10数据集图像分类任务的方法,包含完整代码与关键步骤解析,适合深度学习初学者。涵盖环境准备、数据预处理与加载、数据集可视化、神经网络模型定义、损失函数和优化器定义、模型训练与测试、模型保存等环节,并对关键点进行了解析,还提出了改进建议。完整代码已验证可运行,是初学者学习实践的好资源。
2025-03-20 15:38:49
331
1
原创 基于PyTorch和ResNet18的花卉识别实战(附完整代码)
nn.ReLU(),# 初始化模型本文提供了可直接运行的花卉分类完整代码,并针对低准确率问题提出了改进方向。关键点:数据增强需符合花卉特征(避免过度旋转)合理设置超参数(批次大小、学习率)复杂场景建议使用更先进的模型架构代码可直接复制到本地,修改数据集路径后运行。建议尝试添加Grad-CAM可视化模块,深入分析模型决策依据。
2025-03-19 18:17:47
1009
1
原创 使用PyTorch实现MNIST手写数字识别
我们将定义一个简单的卷积神经网络模型。该模型包含两个卷积层、两个最大池化层和两个全连接层。我们使用交叉熵损失函数和Adam优化器来训练模型。通过本教程,我们学习了如何使用PyTorch构建一个简单的卷积神经网络来识别MNIST手写数字。我们涵盖了数据加载、模型定义、训练和测试等步骤。希望本教程对你理解如何使用PyTorch进行深度学习有所帮助。如果你有任何问题或建议,欢迎在评论区留言!
2025-03-18 09:53:29
689
1
原创 Python实现高光谱图像生成与增强:从RGB到多光谱转换(附完整代码)
本文分享一个基于Python的实用工具,能够将普通RGB图像转换为模拟高光谱图像,并进一步生成增强的彩色可见图像。为了直观展示图像细节,程序通过对特定波段的组合,生成了一幅增强的 RGB 彩色图像。该函数的主要目标是将一张普通的 RGB 图像转换为包含多个波段的高光谱图像。通过该函数,我们能直观地看到高光谱图像经过波段组合后所得到的彩色图像效果。通过以上代码,我们可以实现对海量图像数据的自动化处理,极大地提升工作效率。已附在文中,欢迎下载测试!通过以上步骤,我们可以生成一幅包含多个光谱波段信息的图像。
2025-02-18 17:10:14
2481
1
原创 PyTorch完全指南:从基础到实战,掌握深度学习核心技能
本文是一份系统全面的PyTorch深度学习教程,涵盖20大核心模块,从数据加载到模型训练、优化及部署,搭配可运行的代码示例,帮助开发者快速掌握PyTorch的核心功能。无论你是深度学习新手,还是需要提升实战经验的开发者,都能在此找到从理论到实践的完整指导!
2025-02-16 14:59:43
829
原创 Pandas完全指南:从数据处理到可视化,一站式掌握数据分析利器
本文是一份系统全面的Pandas教程,涵盖8大核心模块,从基础数据操作到高级合并与可视化,搭配可运行的代码示例,帮助数据分析师快速掌握Pandas的核心功能。无论是数据清洗、合并,还是高效可视化,本文均提供详细指导,助力你成为数据处理高手!
2025-02-13 17:09:15
401
原创 NumPy完全指南:从数组操作到科学计算,快速掌握核心功能
本文是一份全面系统的NumPy教程,涵盖8大核心知识点,从基础数组操作到高级科学计算,搭配可运行代码示例,帮助零基础学习者快速掌握NumPy的核心功能。无论你是数据科学新手,还是需要高效处理数值计算的开发者,都能在这里找到实用技巧!
2025-02-12 09:30:00
386
原创 Python基础教程:从入门到实践,快速掌握核心语法与应用
本文是一份系统全面的Python基础教程,涵盖27个核心知识点,从基础语法到进阶应用,搭配可复现的代码示例,帮助零基础学习者快速上手Python编程。无论你是编程新手,还是需要巩固基础的开发者,都能从中找到实用内容!
2025-02-11 15:03:02
317
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人