自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python中的闭包

在联邦学习的场景中,闭包(Closure)是一种有效的设计模式,主要用于封装状态并在函数调用之间保持上下文。

2025-06-09 17:33:54 384

原创 torch采用random_split生成子集part,为什么子集中明明只有样本索引,没有样本标签,循环时却能取出样本标签

核心原因part1Subset对象)的每个元素是原始数据集的(数据, 标签)元组,通过迭代和解构元组即可获取标签。关键点:PyTorch数据集的标签是通过返回的元组的一部分,而非存储在独立的属性中。因此,获取标签的核心逻辑是遍历数据集元素并提取元组中的第二个元素。dataset: Dataset[_T],#_T 是一个类型变量(Type Variable),通常在 typing 模块中定义(如 from typing import TypeVar)。

2025-06-06 20:16:08 682

原创 one-hot编码VS对象嵌入表示

将类别变量转换为二进制向量,每个类别对应向量中的一个位置(索引),该位置值为1,其余位置为0。例如,对于类别集合。

2025-06-03 22:06:24 608

原创 ReLU的变体

ReLU变体通过引入负值区域的梯度(如LeakyReLU、PReLU)、平滑性(如GELU、Swish)或自归一化(如SELU)等特性,缓解了原始ReLU的局限性,提升了模型性能和训练稳定性。实际应用中,需根据任务特点和模型架构选择合适的激活函数。

2025-06-01 20:11:10 1062

原创 python中常用的内置属性built-in attributes

内置属性是 Python 语言的重要组成部分,它们为对象提供了元数据和特殊行为。不过,你应当谨慎使用这些属性,因为直接操作它们可能会破坏对象的封装性。在实际的编程过程中,建议优先使用公共 API,而不是直接访问内置属性。

2025-05-31 15:12:42 244

原创 PyTorch中nn.Module详解

直接print(dir(nn.Module)),得到如下内容:二、模型状态与模式 和 三、模型保存与加载四、设备与数据类型 和 五、前向传播与计算六、参数初始化与优化七、调试与信息日常使用中,最频繁的方法包括:其他方法根据具体需求选择使用,例如钩子函数用于高级调试, 用于统一初始化。3.2 特有的方法3.

2025-05-30 17:36:50 1200

原创 Python中__call__方法作用介绍

_call__方法赋予了类实例函数的行为,在装饰器、状态管理、回调函数等场景中都能发挥作用。它是Python中实现“一切皆对象”理念的重要组成部分。img=Image.open(r"C:\Users\10115\Desktop\厨余垃圾.jpg")其中trans_resize是Resize类的实例。

2025-05-29 16:50:57 218

原创 YOLO中model.predict方法返回内容Results详解

③data:是一个数组,每个数组的内容是[x_center, y_center, width, height,confidence, class_id],对应某个检测框的坐标、置信度、类别。③masks:包含检测掩码的掩码对象(就是目标检测的进一步好像,之前是用框来判定对象,现在是用掩码,这里没涉及)②keypoints:关键点对象,包含每个对象的检测关键点(关键点估计那里会用上,这里没涉及)⑦shape:边界框数据的形状(3个框,每个框6个属性)①boxes对象:存有每个预测框的信息(下边细讲)

2025-05-20 22:24:28 484

原创 cv2.VideoWriter_fourcc(*‘mp4v‘)生成的视频无法在浏览器播放

执行conda install -c conda-forge opencv之后,运行项目(ws_rear) [root@VM-16-11-centos rear-end]# python app.py。看这个博主的博客,跟我碰到的问题的一致,都是使用AVC1写视频时报编码器不存在的异常,手动编译opencv-python或者使用conda install -c conda-forge opencv安装依赖即可。

2025-05-20 17:33:26 637

原创 腾讯云系统盘占满

【代码】腾讯云系统盘占满。

2025-04-25 12:18:55 390

原创 YOLO中mode.predict()参数详解

【代码】YOLO中mode.predict()参数详解。

2025-04-08 15:27:38 705

原创 model.eval()、param.requires_grad = False以及with torch.no_grad()各有什么用

【代码】model.eval()、param.requires_grad = False以及with torch.no_grad()各有什么用。

2025-04-08 14:38:28 332

原创 YOLO中DetectionTrainer类,以及在Train有关Callback中的使用

类封装了目标检测模型训练所需的一系列操作和流程,包括数据加载、模型初始化、损失计算、优化器更新等,能让用户方便地开展目标检测模型的训练工作。

2025-04-07 13:41:45 747

原创 YOLO中model.val()方法参数解释

2025-04-06 20:07:19 495

原创 YOLO中model.train()参数详解

modelexplain:可以指定训练用的模型,参数内容是可以是pt、yaml文件路径,也可以不指定,好像会默认加载最新的YOLO模型,比如现在是YOLOv11dataexplain:指定数据配置文件,配置文件应该包括训练样本与测试样本的数据路径、每个类的名字以及标号arg:epochstype:int很明显,不介绍了arg:timetype:float。

2025-04-06 16:01:29 980

原创 YOLO运行model.train()方法时,运行时的有关日志输出

2025-04-05 19:03:34 112 1

原创 YOLO 模型 runs 目录下 detect 任务结果文件的深度分析

metrics/mAP50(B):B 类别的平均精度均值(IoU 阈值为 0.5 时 ),综合评估模型对 B 类目标的检测性能,考量不同召回率下的精确率。metrics/precision(B):B 类别的精确率,指预测为 B 类的结果中真正属于 B 类的比例,衡量分类的准确性。我的理解是训练时第i个epoch中第一个批量的检测结果,当我batch_size=16时,下边的图片刚好囊括了16个小图片。train/box_loss:训练时每个epoch的box_loss,衡量了预测框与真实框的吻合度。

2025-04-05 16:20:37 1088

原创 softmax求概率跟用片段值除总和求概率的不同点

这是一种简单的归一化操作,对于一组数值x1x2⋯xnx1​x2​⋯xn​,其计算方式是将每个数值xix_ixi​除以这组数值的总和∑j1nxj∑j1n​xj​,得到对应的归一化值yiy_iyi​,公式如下:例如,对于数值组235[2, 3, 5]235,总和为2351023510,归一化后的结果为2103105100.20.30.5102​103​105​。

2025-03-21 16:41:37 665

原创 机械革命蛟龙16pro玩游戏闪屏

我查过原因,好像是AMD显卡对游戏用了可变刷新率就出bug了,可能是那个游戏不适合用可变刷新率技术。1.桌面右键鼠标,出现如下标签,点击AMD Software:Adrenalin Edition。2.选择闪屏的游戏,把AMD FreeSync关了。

2025-03-19 18:08:39 609 2

原创 kaggle竞赛总结:classify-leaves

第四次用的是kaggle,摸索了一下大致了解了kaggle怎么读取数据集,处理文件输出,然后就开始跑了,后边epoch多了,有时候会停止print结果,后面我看到可以用save version把代码放到后台跑,然后查看log里面会有输出,那就省事多了,我一save version就关闭界面,让它自己慢慢跑,它完成了也会在邮箱通知我,体验不错,很推荐。),标签平滑策略,学习率寻优,余弦退火热重启(!结果:迭代60次,私榜分数:0.97138,公榜分数:0.97068(还没完全收敛,可以更高)

2025-03-08 11:25:59 669

原创 No module named ‘cv2‘

要使用cv2库,得安装两个库opencv-python和opencv-contrib-python,我之前只安装了第一个,然后没有生效。

2025-03-03 16:31:07 95

原创 torch.argmax用法

1.dim=None时,则返回扁平化输入的 argmax,就是将input展成一维,然后从中找出最大值所在索引,此时返回的Tensor只有一个值。功能:返回最大值所在的索引。根据dim的不同有不同的处理方式。2.dim有值时,返回该维最大值的缩印组成的tensor。

2025-03-03 09:52:10 188

原创 深度学习训练数据太大超内存

改进后:主要看dataloader,它可以让你在训练需要时才加载那一批量的数据,就是说一次只有一个批量的数据进入内存,内存就不会爆了。问题就在于X.append(transform_train(image))会将所有数据加载到内存,肯定会爆。我的训练集是两万多张3*224*224的图片。

2025-02-27 21:16:50 175

原创 Colab挂载Google Drive出错:MessageError: Error: credential propagation was unsuccessful

好像是凭证出了问题,我下载了Google Drive软件,然后卸载了就出现这个问题了。解决办法:挂载到另一个目录。

2025-02-25 18:43:15 300

原创 DenseNet总结

有2个输出通道数为10的(DenseBlock使用通道数为3的输入时,我们会得到通道数为。

2025-02-24 20:59:28 1008

原创 ResNet总结

随着我们设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力,在这种网络中,添加层会使网络更具表现力,为了取得质的突破,我们需要一些数学基础知识。

2025-02-24 20:01:15 1021

原创 colab文件中调用其他文件夹的内容

其中/content/gdrive/myDrive是固定的,指向你硬盘的开始目录,然后后续的目录就自己看情况填写,一般写到自己要执行文件的那个目录。如果不确定,可以用os.listdir()列出当前目录,然后os.chdir()选择自己想去的下一个目录,一步步摸索就能知道项目的路径了。我这里因为引用用的相对路径才这样做,可能用绝对路径就不用os变换目录了。

2025-02-24 10:10:33 223

原创 RuntimeError: “nll_loss_forward_reduce_cuda_kernel_2d_index“ not implemented for ‘Float‘

但是出了题目所示的错,查看资料才知道交叉熵loss函数接受两个参数,第一个是float,第二个是long!背景:深度学习训练时,我自己提取了输入跟输入进行训练,把一些字符串类别映射成了数字,

2025-01-18 21:00:44 411

原创 list转tensor很慢

大致内容是如果list里边含有np.array类型的数据,那么list转tensor就会非常慢,除非list先转成np.array,np.array再转成tensor。X是一个列表,但是循环里边得到的元素image是np.array,所以我的X是一个含np.array数据的list,难怪torch.tensor(X)这么慢,X=torch.tensor(np.array(X))写成这样就把问题解决了。

2025-01-18 19:21:03 230

原创 Bottleneck层模型介绍

对于瓶颈层,第一个1*1卷积层是通道信息融合,减少通道数量,第二个3*3卷积层是进行空间信息融合及压缩,第三个1*1卷积层是进行特征提取(通道数变多)对于无瓶颈层,第一个3*3卷积层应该是进行特征提取(通道数变多)、空间信息融合及压缩(卷积操作配合步幅),第二个3*3卷积层应该是进一步空间信息融合。3x3卷积层:用于提取空间特征,是瓶颈块中的核心部分,用于提取图像中的细节信息。第一个1x1卷积层:用于减少通道数,即降维,从而降低计算复杂度。第二个1x1卷积层:用于恢复通道数,即升维,以便与输入进行相加。

2025-01-17 20:42:05 177

原创 torch.reshape()的原理

reshape成(2,2,3)后,先分第0维,12个元素分成两半,[0,...,5]分给第0维的第一部分,[6,...,11]分给第0维的第二部分,然后以[0,...,5]为例,对于第一维分半,故[0,1,2]分给第一维第一部分,[3,4,5]分给第一维第二部分,然后看元素是否还剩3个,不剩3个说明想要reshape的形状不和,会报错。实践了下,看起来这样理解是没问题的,想要理解更深刻可以去看源码,我是因为源码内容好像有点多,然后懒得看了嘻嘻。我的想法是reshape是将输入的tensor。

2025-01-11 18:52:16 242

原创 解决torch.version.cuda=None以及torch.cuda.is_available()=False

然后就出现了上面的问题,看了下别人的博客,好像如果conda配置了清华镜像源,然后conda install安装的就是cpu版本的torch,不是gpu版本的,我也不知道是不是这个问题。先把安装的torch卸载了,然后用pip安装gpu版本的torch(我没用镜像源,我开了外网下好像),

2025-01-08 13:46:24 1487

原创 理解神经网络

整个神经网络是实现功能的工具,我放入图片可以得到类似的处理,我把我要处理的图片放进模型,然后根据得出的结果,调整输出,就可能可以得到能处理自己图片的模型(对于迁移学习还不是很了解,深入学了再补一下内容)首先ReLU的本质:使小于0的部分曲线消失,只保留大于0的部分,故我可以设法用多个ReLU做出多段曲线,然后叠加,就可以生成对应多段曲线:。二、那为什么有时候一开始会把输入层的信息先放大,即输入层n个特征,先放大数量到隐藏层①,其中隐藏层①有m个神经元(m>n):。隐藏层①有4个神经元。

2025-01-05 15:43:11 538

原创 pd.get_dummies()方法将数据变成了布尔值,想进一步把数据转成0/1

但是我的dataFrame是只有float类型的列跟bool类型的列,为什么转不了我也不太清楚,我猜测是转的时候将True跟False识别成字符串了……很容易理解,apply处理的是整列,而我写的lambda针对的是某个值,不匹配,所以报错才会说ambiguous(对数据的处理模糊,不知道要处理谁)这会导致什么问题呢,比如说我想将这个dataFrame的类型转成torch.float32,会出错,如下:。早期的pd.get_dummies()方法是将数据变成0/1的,这时候没什么问题。

2025-01-03 15:56:27 468

原创 jupyter展示图片做法以及为什么会无法展示图片

]()展示图片时,我用了两种路径,一种是'/'分隔,神奇的是,这种路径你点击是能找到路径从而看见图片的,但是无法在jupyter展示。另一种路径是'\'分隔,虽然可能ctrl+click跳不到对应路径,但是他能显示图片,我没怎么学过markdown语法,所以可能认识不深。用markdown语法:!用<img src="路径">标签。

2025-01-02 19:48:05 462

原创 张量中,挨个操作元素与用矩阵乘法操作元素,哪个块

为什么不用X[mask]=0,而用mask*X?

2024-12-29 19:26:12 179

原创 深度学习中的MSE与MAE

均方误差(MSE):是预测值与真实值之差的平方和的平均值,其数学表达式为,其中为样本数量,为第个样本的真实值,为第个样本的预测值。平均绝对误差(MAE):是预测值与真实值之差的绝对值的平均值,其数学表达式为。

2024-12-22 10:31:37 879

原创 model = nn.Sequential()

输出:)>28 * 2828×2828×283228 * 2832nn.ReLU()ReLU000ReLUnn.ReLU()32100 - 9101032dim = 11100 - 910所以这个网络有多少层?这个神经网络从结构上来看包含 4 个主要部分,可以大致认为有 4 层,不过严格来说,从传统意义上按照包含可学习参数的层来界定 “层数” 的话,nn.Linearnn.ReLUnn.Softmax。

2024-12-21 12:26:27 525

原创 深度学习中,用损失的均值或者总和反向传播的区别

sum和mean其实主要影响了“梯度的大小”,反向传播时,依据损失求梯度,如果是sum,则梯度会比mean大n倍,那么在学习率不变的情况下,步子会迈得很长,体现到图形上就是正确率提升不了。所以需要缩小学习率。

2024-12-20 17:05:58 312

原创 深度学习的DataLoader是什么数据类型,为什么不可用来索引

在 Python 中,DataLoader是。

2024-12-20 15:54:22 534

yolo中Trainer的callback回调传入的参数trainer属性内容

yolo中Trainer的callback回调传入的参数trainer属性内容

2025-04-07

空空如也

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

TA关注的人

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