自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 Pytorch实战

本文介绍了使用PyTorch实现CIFAR-10图像分类的CNN模型实战。通过构建卷积神经网络,详解了数据预处理、模型训练及验证过程,并分享了在Kaggle竞赛中的应用经验。相关技术博客提供了完整代码实现和调优技巧,帮助读者掌握计算机视觉领域的基础图像分类任务。

2025-10-15 00:01:55 194

原创 命令行的学习使用技巧

在指定文件夹路径下运行cmd命令,输入tree /f > list.txt可生成当前目录的树形结构文本文件。该命令会将文件夹层级和文件列表导出到list.txt文档中,便于查看和存档。操作简单快捷,适用于Windows系统目录结构导出需求。

2025-10-09 19:53:14 181

原创 机器学习/深度学习名词理解

如何通俗易懂地解释卷积?- palet的回答 - 知乎。

2025-09-26 22:35:57 255

原创 【知识汇总】Git和conda命令行

本文摘要包含Git操作指南和YOLO目标检测环境配置两部分内容。在Git部分详细介绍了仓库初始化、远程连接、提交修改等完整工作流,包括git init、add、commit、pull等核心命令的使用方法,并推荐了VSCode的GitGraph插件。YOLO环境配置部分提供了完整的安装流程:1)配置conda清华镜像源;2)创建Python虚拟环境;3)安装指定版本的PyTorch(针对不同显卡提供多个版本选择);4)安装YOLOv5依赖包;5)补充安装labelimg等工具。特别说明了不同CUDA版本与显卡

2025-08-04 11:17:18 823

原创 Python_day56时序数据的检验

在时序预测中,这种要求会更加苛刻,你设想一下,你可以制造一个随机的序列,然后让模型来学习,这注定也是不可能实现的。也就是说 数据本身要具备可预测性。一个完全随机的序列(学术上称为“白噪声”)是不可预测的。它的未来值与过去值没有任何相关性。任何模型试图从中学习规律,最终都只会是徒劳。什么叫做白噪声呢?均值为0方差恒定自相关性为0(即过去的值对未来的值没有影响)我们来生成一组随机序列# 中文显示设置。

2025-06-26 23:04:13 642

原创 Python_day55序列预测任务介绍

我们之前接触到的结构化数据,它本身不具备顺序,我们认为每个样本之间独立无关,样本之间即使调换顺序,仍然不影响模型的训练。但是日常中很多数据是存在先后关系的,而他们对应的任务是预测下一步的值,我们把这个任务称之为序列预测。举个例子,比如有过去30天的股票价格,我们希望预测第31天的价格。比如之前的单车预测,有前60天的单车需求数据,希望预测后面20天的销量。或者文本,人的语言是有顺序的,预测下一个单词是这也是序列预测任务。

2025-06-20 01:49:23 757

原创 Python_day54Inception网络及其思考

今天我们介绍inception,也就是GoogleNet传统计算机视觉的发展史从上面的链接,可以看到其实inceptionnet是在resnet之前的,那为什么我今天才说呢?因为他要引出我们后面的特征融合和特征并行处理这些思想。Inception 网络,也被称为 GoogLeNet,是 Google 团队在 2014 年提出的经典卷积神经网络架构。

2025-06-15 21:48:48 744

原创 Python_day53对抗生成网络

定义:就像是餐厅的菜谱,按顺序列出每个烹饪步骤,简化了厨师的烹饪流程。LeakyReLU 是 ReLU 的变种,允许一小部分梯度通过,避免神经元失活现象。类似于在烹饪过程中,允许某些食材保留一定的原始风味,避免某些食材完全失活,从而丰富菜品的层次感。LeakyReLU(x) = max(0.01 * x, x),其中 0.01 是负斜率。

2025-06-13 23:35:05 1049

原创 Python _Day52|神经网络调参指南

之前我们说过,torch中很多场景都会存在随机数权重、偏置的随机初始化数据加载(shuffling打乱)与批次加载(随机批次加载)的随机化数据增强的随机化(随机旋转、缩放、平移、裁剪等)随机正则化dropout优化器中的随机性import os# 全局随机函数"""设置全局随机种子,确保实验可重复性参数:seed: 随机种子值,默认为42deterministic: 是否启用确定性模式,默认为True"""# 设置Python的随机种子。

2025-06-12 20:33:10 921

原创 Python_day51

day43的时候我们安排大家对自己找的数据集用简单cnn训练,现在可以尝试下借助这几天的知识来实现精度的进一步提高。

2025-06-11 20:09:12 350

原创 Python_day50预训练模型+CBAM模块

然后看下resnet内部的结构是什么,这决定我们如何插入模块# 定义通道注意力"""通道注意力机制初始化参数:in_channels: 输入特征图的通道数ratio: 降维比例,用于减少参数量,默认为16"""# 全局平均池化,将每个通道的特征图压缩为1x1,保留通道间的平均值信息# 全局最大池化,将每个通道的特征图压缩为1x1,保留通道间的最显著特征# 共享全连接层,用于学习通道间的关系# 先降维(除以ratio),再通过ReLU激活,最后升维回原始通道数。

2025-06-10 17:08:47 806

原创 Python_day49cbam模块介绍

之前我们介绍了se通道注意力,我们说所有的模块本质上只是对特征进一步提取,今天进一步介绍cbam注意力CBAM 是一种能够集成到任何中的注意力模块。它的核心目标是通过学习的方式,自动获取特征图在通道和空间维度上的重要性,进而对特征图进,增强重要特征,抑制不重要特征,提升模型的特征表达能力和性能。简单来说,它就像是给模型装上了 “智能眼镜”,让模型能够更精准地看到图像中关键的部分。

2025-06-09 18:24:18 1056

原创 Python_day48随机函数与广播机制

在继续讲解模块消融前,先补充几个之前没提的基础概念尤其需要搞懂张量的维度、以及计算后的维度,这对于你未来理解复杂的网络至关重要。

2025-06-08 14:59:30 744

原创 Python_day47

===================== 新增:通道注意力模块(SE模块) ====================="""通道注意力模块(Squeeze-and-Excitation)""""""参数:in_channels: 输入特征图的通道数reduction_ratio: 降维比例,用于减少参数量"""# 全局平均池化 - 将空间维度压缩为1x1,保留通道信息# 全连接层 + 激活函数,用于学习通道间的依赖关系# 降维:压缩通道数,减少计算量# 升维:恢复原始通道数。

2025-06-07 21:47:55 1060

原创 Python——day46通道注意力(SE注意力)

注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景,聚焦于图片中的主体(如猫、汽车)。transformer中的叫做自注意力机制,他是一种自己学习自己的机制,他可以自动学习到图片中的主体,并忽略背景。我们现在说的很多模块,比如通道注意力、空间注意力、通道注意力等等,都是基于自注意力机制的。从数学角度看,注意力机制是对输入特征进行加权求和,输出=∑(输入特征×注意力权重),其中注意力权重是学习到的。所以他和卷积很像,因为卷积也是一种加权求和。

2025-06-06 20:51:02 871

原创 day45_Tensorborad使用介绍

之前的内容中,我们在神经网络训练中,为了帮助自己理解,借用了很多的组件,比如训练进度条、可视化的loss下降曲线、权重分布图,运行结束后还可以查看单张图的推理效果。如果现在有一个交互工具可以很简单的通过按钮完成这些辅助功能那就好了。所以我们现在介绍下这个可视化工具,他可以很方便的很多可视化的功能,尤其是他可以在运行过程中实时渲染,方便我们根据图来动态调整训练策略,而不是训练完了才知道好不好。

2025-06-06 16:11:46 850

原创 Python_day44

模型年份提出团队关键创新点层数参数量ImageNet Top-5错误率典型应用场景预训练权重可用性LeNet-51998Yann LeCun等首个CNN架构,卷积层+池化层+全连接层,Sigmoid激活函数7~60KN/A手写数字识别(MNIST)无(历史模型)AlexNet2012Alex Krizhevsky等ReLU激活函数、Dropout、数据增强、GPU训练860M15.3%大规模图像分类PyTorch/TensorFlow官方支持VGGNet。

2025-06-04 20:54:22 1075

原创 Python_day43

定义卷积神经网络模型(优化版)# 卷积特征提取模块(含残差连接)# 第一层:输入3通道(RGB)→16通道nn.ReLU(),# 第二层:16→32通道 + 残差连接nn.ReLU(),nn.Conv2d(32, 32, kernel_size=3, padding=1), # 残差分支# 第三层:32→64通道nn.ReLU(),# 第四层:64→128通道nn.ReLU(),nn.MaxPool2d(2) # 28x28 → 14x14(与原计算一致)

2025-06-02 19:36:26 477

原创 Python_day42 Grad-CAM.ipynb

在深度学习中,我们经常需要查看或修改模型中间层的输出或梯度。然而,标准的前向传播和反向传播过程通常是一个黑盒,我们很难直接访问中间层的信息。PyTorch 提供了一种强大的工具——hook 函数,它允许我们在不修改模型结构的情况下,获取或修改中间层的信息。它的核心价值在于让开发者能够动态监听、捕获甚至修改模型内部任意层的输入 / 输出或梯度,而无需修改模型的原始代码结构。常用场景如下:1. 调试与可视化中间层输出2. 特征提取:如在图像分类模型中提取高层语义特征用于下游任务。

2025-06-01 15:37:07 801

原创 Python_day41

首先回顾下昨天的代码。一、数据增强在图像数据预处理环节,为提升数据多样性,可采用数据增强(数据增广)策略。该策略通常不改变单次训练的样本总数,而是通过对现有图像进行多样化变换,使每次训练输入的样本呈现更丰富的形态差异,从而有效扩展模型训练的样本空间多样性。常见的修改策略包括以下几类1. 几何变换:如旋转、缩放、平移、剪裁、裁剪、翻转2. 像素变换:如修改颜色、亮度、对比度、饱和度、色相、高斯模糊(模拟对焦失败)、增加噪声、马赛克。

2025-05-31 22:41:44 753

原创 Python_day40

**批量维度不变性**:无论进行flatten、view还是reshape操作,第一个维度`batch_size`通常保持不变。- **动态维度指定**:使用`-1`让PyTorch自动计算该维度的大小,但需确保其他维度的指定合理,避免形状不匹配错误。

2025-05-30 15:35:46 679

原创 Python_day39图像数据与显存

从这里开始我们进入到了图像数据相关的部分,也是默认你有之前复试班计算机视觉相关的知识,但是一些基础的概念我仍然会提。昨天我们介绍了minist这个经典的手写数据集,作为图像数据,相较于结构化数据(表格数据)他的特点在于他每个样本的的形状并不是(特征数,),而是(宽,高,通道数)# 先继续之前的代码from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具。

2025-05-29 23:59:52 855

原创 Python_day38Dataset和Dataloader类

维度DatasetDataLoader核心职责定义“数据是什么”和“如何获取单个样本”定义“如何批量加载数据”和“加载策略”核心方法(获取单个样本)、__len__(样本总数)无自定义方法,通过参数控制加载逻辑预处理位置在中通过transform执行预处理无预处理逻辑,依赖Dataset返回的预处理后数据并行处理无(仅单样本处理)支持多进程加载(典型参数root(数据路径)、transform(预处理)batch_sizeshuffle核心结论Dataset类:定义数据的内容和格式。

2025-05-27 23:32:49 916

原创 Python——day37早停策略和模型权重的保存

训练进度: 100%|██████████| 20000/20000 [00:06<00:00, 3245.61epoch/s, Train Loss=0.0633, Test Loss=0.0578]Training time: 6.16 seconds。实际上,在早停策略中,保存 checkpoint(检查点) 是更优选择,因为它不仅保存了模型参数,还记录了训练状态(如优化器参数、轮次、损失值等),一但出现了过拟合,方便后续继续训练。我今天的笔记是用cpu训练的,请自行修改为gpu训练。

2025-05-26 23:12:01 1296 4

原创 Python_day35 模型可视化与推理

知识点回顾:三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化进度条功能:手动和自动写法,让打印结果更加美观推理的写法:评估模式。

2025-05-24 23:08:51 930

原创 Python_day34GPU训练及类的call方法

DAY 34 GPU训练及类的call方法知识点回归:CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)

2025-05-23 22:50:05 876

原创 Python_day33 简单的神经网络

定义一个简单的全连接神经网络模型,包含一个输入层、一个隐藏层和一个输出层。定义层数+定义前向传播顺序class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数# 前三行是八股文,后面的是自定义的self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。

2025-05-22 23:49:53 698

原创 Python_day32官方文档的阅读

知识点回顾:官方文档的检索方式:github和官网官方文档的阅读和使用:要求安装的包和文档为同一个版本类的关注点:实例化所需要的参数普通方法所需要的参数普通方法的返回值绘图的理解:对底层库的调用我们已经掌握了相当多的机器学习和python基础知识,现在面对一个全新的官方库,看看是否可以借助官方文档的写法了解其如何使用。我们以pdpbox这个机器学习解释性库来介绍如何使用官方文档。多数 Python 库都会有官方文档,里面包含了函数的详细说明、用法示例以及版本兼容性信息。

2025-05-21 23:58:14 332

原创 Python _day31

DAY 31 文件的规范拆分和写法今日的示例代码包含2个部分notebook文件夹内的ipynb文件,介绍下今天的思路项目文件夹中其他部分:拆分后的信贷项目,学习下如何拆分的,未来你看到的很多大项目都是类似的拆分方法知识点回顾规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解昨天我们已经介绍了如何在不同的文件中,导入其他目录的文件,核心在于了解导入方式和python解释器检索目录的方式。

2025-05-20 23:54:59 867

原创 【无标题】

模块(Module)本质:以.py结尾的单个文件,包含Python代码(函数、类、变量等)。作用:将代码拆分到不同文件中,避免代码冗余,方便复用和维护。包(Package)在python里,包就是库本质有层次的文件目录结构(即文件夹),用于组织多个模块和子包。核心特征:包的根目录下必须包含一个文件(可以为空),用于标识该目录是一个包。

2025-05-19 20:46:54 966

原创 Python_day29类的装饰器知识点回顾

DAY 29 复习日类的装饰器。

2025-05-18 20:22:38 1136

原创 Python_day28 类的定义和方法

calculate_perimeter():计算周长(公式:2×(长+宽))。is_square() 方法,判断是否为正方形(长 == 宽)。calculate_circumference():计算圆的周长(公式:2πr)。shape_type="rectangle":创建长方形(参数:长、宽)。calculate_area():计算圆的面积(公式:πr²)。shape_type="circle":创建圆(参数:半径)。calculate_area():计算面积(公式:长×宽)。

2025-05-17 21:38:16 447

原创 Python_day27(需回头再深入)

DAY 27 函数专题2:装饰器知识点回顾:装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值作业:编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)...9949 9967 9973 执行时间:0.14123177528381348秒装饰器的本质是一个高阶函数,它接收一个函数作为参数,并返回一个新函数来替代原函数。因此,我们需要在装饰器内部定义一个新函数来实现这些功能。

2025-05-16 16:53:03 711

原创 Python_day26函数专题1

"""Docstring: 描述函数的功能、参数和返回值 (可选但强烈推荐)"""# 函数体: 实现功能的代码# ...return value # 可选,用于返回结果def: 关键字,表示开始定义一个函数。function_name: 函数的名称,应遵循Python的命名约定(通常是小写字母和下划线,例如 calculate_area,用英文单词含义和下划线来作为函数名)。parameter1, parameter2, ...: 函数的参数(也叫形参),是函数在被调用时接收的输入值。

2025-05-15 15:10:38 819

原创 Python_day25异常处理

DAY 25 异常处理知识点回顾:异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。

2025-05-14 13:37:39 868

原创 Python_day24元组和OS模块

DAY 24 元组和OS模块知识点回顾:元组可迭代对象os模块作业:对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径。元组元组的特点:有序,可以重复,这一点和列表一样元组中的元素不能修改,这一点非常重要,深度学习场景中很多参数、形状定义好了确保后续不能被修改。很多流行的 ML/DL 库(如 TensorFlow, PyTorch, NumPy)在其 API 中都广泛使用了元组来表示形状、配置等。可以看到,元组最重要的功能是在列表之上,增加了不可修改这个需求元组的创建。

2025-05-13 15:28:43 1087

原创 Python_day23

ColumTransformer的核心# --- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意。

2025-05-12 22:50:30 721

原创 Python_day22

训练集 (train.csv)测试集 (test.csv)训练集应用于构建机器学习模型。对于训练集,我们提供每位乘客的结果(也称为“真实值”)。您的模型将基于乘客的性别和舱位等“特征”。您还可以使用特征工程来创建新特征。应该使用测试集来查看模型在看不见的数据上的表现。对于测试集,我们不会提供每位乘客的 Ground Truth。预测这些结果是你的工作。对于测试集中的每个乘客,使用您训练的模型来预测他们是否在泰坦尼克号沉没后幸存下来。我们还包括。

2025-05-11 22:05:53 1128

原创 Python_day21

题目 :使用heart心脏病数据集,对比PCA和t-SNE在2D可视化中的表现差异,并分析原因。(要求:包含数据预处理、两种降维方法的实现、可视化对比图、结果分析)可以考虑对比下在某些特定数据集上t-sne的可视化和pca可视化的区别。3. 缓解维度灾难 :高维空间中数据稀疏,基于距离的算法(如KNN)性能下降,降维可改善。5. 多模态数据融合 :将不同来源的高维特征(如文本+图像)统一到低维空间。还有一些其他的降维方式,也就是最重要的词向量的加工,我们未来再说。一、降维的主要应用场景。

2025-05-10 17:26:33 523

原创 Python_day20

计算特征值和特征向量:通过特征方程求解。矩阵对角化:判断矩阵是否可对角化,并求对角化矩阵。利用特征值分解求矩阵幂或函数:通过分解简化高次幂计算。证明题:如证明某些矩阵性质与特征值的关系。正交矩阵是指一个方阵 QQ,满足其转置矩阵与自身的乘积为单位矩阵,即:QTQ=IQTQ=IQTQT 是 QQ 的转置矩阵。II 是单位矩阵(对角线为 1,其余为 0)。这意味着正交矩阵的列向量(或行向量)是单位向量且两两正交。

2025-05-09 21:55:11 883

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除