机器人图像处理
这个作者很懒,什么都没留下…
展开
-
27-迁移学习修改输出结果
使用经典模型训练自己的项目时,通常会修改输出结果。原创 2025-03-18 17:13:46 · 14 阅读 · 0 评论 -
26-Conv1d、Conv2d与Conv3d详解
CNN是深度学习的重中之重,而conv1D,conv2D,和conv3D又是CNN的核心,所以理解conv的工作原理就变得尤为重要,卷积中几个核心概念如下。卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加。卷积核:又称为滤波器,过滤器,可认为是某种特征。卷积过程类似于用一个模版去图像上寻找与它相似的区域,与卷积核模式越相似,激活值越高,从而实现特征提取。卷积维度:一般情况下 ,卷积核在几个维度上滑动就是几维卷积。原创 2025-03-18 15:18:17 · 36 阅读 · 0 评论 -
25-分割预测图像输出(彩色)
例如预测值mask[335,500],cls.cmap[256,3],经过彩色空间映射后得到[335,500,3]。2、将预测结果映射到彩色空间。产生[256,3]的列表。原创 2025-03-18 12:08:45 · 20 阅读 · 0 评论 -
24-分割混淆矩阵和精度指标核心算法
其计算都是建立在混淆矩阵(Confusion Matrix)的基础上。因此,了解基本的混淆矩阵知识对理解上述5个常用评价指标是很有益处的!原创 2025-03-18 11:34:56 · 33 阅读 · 0 评论 -
23-随机数初始化
在神经网络中,参数默认是进行随机初始化的。如果不设置的话每次训练时的初始化都是随机的,导致结果。如果设置子初始化,则每次初始化都是。实际上,计算机并不能产生真正的随机数,而是已经编写好的一些无规则排列的数字存储在电脑里,把这些数字划分为若干相等的N份,并为每份加上一个编号,编号固定的时候,获得的随机数也是固定的。使用原因:在需要生成随机数据的实验中,每次实验都需要生成数据。设置随机种子是为了确保每次生成固定的随机数,这就使得每次实验结果显示一致了,有利于实验的比较和改进。原创 2025-03-17 14:10:46 · 17 阅读 · 0 评论 -
22-pytorch中赋值运算符 =
并不会产生一个独立的对象单独存在,只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签也会随之改变。原创 2025-03-16 12:47:54 · 112 阅读 · 0 评论 -
21-梯度累积原理与实现
在深度学习训练的时候,数据的batch size大小受到GPU内存限制,batch size大小会影响模型最终的准确性和训练过程的性能。在GPU内存不变的情况下,模型越来越大,那么这就意味着数据的batch size智能缩小,这个时候,梯度累积(Gradient Accumulation)可以作为一种简单的解决方案来解决这个问题。原创 2025-03-15 22:46:35 · 31 阅读 · 0 评论 -
20-输入数据和标签requires_grad属性
在深度学习中,requires_grad是一个用于控制张量是否需要计算梯度的属性。当输入图像数据的requires_grad = False时,意味着 PyTorch 不会为该张量计算梯度,这通常用于表示,比如普通的。而经过数据requires_grad = True,这是因为卷积层中的参数(权重和偏置)通常是需要学习和更新的,在反向传播过程中需要计算关于这些参数的梯度,以便通过优化算法来调整它们的值以最小化损失函数。原创 2025-03-15 00:20:39 · 33 阅读 · 0 评论 -
19-深度监督(deep supervision)
深度监督deep supervision其实就是网络的中间部分添加了额外的loss,跟多任务是有区别的,多任务有不同的GT计算不同的loss,而深度监督的GT都是同一个GT,不同位置的loss按系数求和。原创 2025-03-14 16:24:02 · 48 阅读 · 0 评论 -
18-设置损失函数解决数据集类别不平衡问题
一定要把loss的权重放到GPU上,要不然会报错。其中[0.2, 0.15, 0.15, 0.5]就是对于我要区分的四类赋予的权重。原创 2025-03-14 11:03:15 · 30 阅读 · 0 评论 -
17-Unet++损失函数和IOU得分值计算
代码实现。原创 2025-03-14 10:54:12 · 19 阅读 · 0 评论 -
16-torch.autograd.Function说明
总结,.apply方法使得SwishImplementation能够作为一个自定义的自动微分操作被调用,其中x是该操作的输入参数,而这个类的实现定义了这些输入是如何被处理以及如何计算它们的梯度的。原创 2025-03-06 22:36:05 · 55 阅读 · 0 评论 -
15-YOLOV8OBB损失函数详解
在Ultralytics YOLO 模型中,OBB 由YOLO OBB 格式中的四个角点表示。这样可以更准确地检测到物体,因为边界框可以旋转以更好地适应物体。其坐标在 0 和 1 之间归一化:YOLO 在内部处理损失和输出是xywhr 格式,xy表示边界框的中心点、whr表示宽度、高度和旋转角度。原创 2025-03-04 23:51:28 · 129 阅读 · 0 评论 -
14-混合精度amp
torch.cuda.amp.GradScaler 是 PyTorch 中用于自动混合精度(Automatic Mixed Precision, AMP)训练的一个重要工具,主要用于在使用半精度(如 float16)进行训练时,解决梯度下溢(gradient underflow)问题。下面详细介绍其作用和工作原理:梯度下溢问题在深度学习训练中,使用半精度(如 float16)进行计算可以显著减少内存使用和加速训练过程,因为 float16 数据类型只占用 float32 一半的存储空间。原创 2025-02-27 18:12:05 · 42 阅读 · 0 评论 -
13-kmeans聚类
对于大部分图片而言,由于其尺寸与我们预设的输入尺寸不符,所以在输入阶段就做了resize,导致预先标注的bounding box大小也发生变化。而anchor是根据我们输入网络中的bounding box大小计算得到的,所以在这个resize过程中就存在anchor重新聚类的过程。在yolov5/utils/autoanchor.py文件下,有一个函数kmeans_anchor,通过kmeans的方法计算得到anchor。原创 2025-02-27 15:28:09 · 19 阅读 · 0 评论 -
3-提前结束训练
【代码】3-提前结束训练。原创 2025-02-26 23:13:33 · 180 阅读 · 0 评论 -
2-python中glob查找所有路径名匹配指定模式的文件
【代码】2-python中glob查找所有路径名匹配指定模式的文件。原创 2025-02-26 21:54:57 · 68 阅读 · 0 评论 -
1-优化器参数相关
模型优化器相关设计技巧原创 2025-02-26 18:18:09 · 135 阅读 · 0 评论 -
4-自定义DataLoader示例代码
【代码】自定义DataLoader示例代码。原创 2024-01-05 11:17:57 · 31 阅读 · 0 评论 -
5-迁移学习基础示例代码
【代码】迁移学习基础示例代码。原创 2024-01-04 22:22:27 · 10 阅读 · 0 评论 -
12-动量与学习率衰减
1、不包含动量权重参数的更新函数:2、增加动量后权重参数的更新函数其中,α为学习率,β为动量。即考虑上一次权重方向的参数更新,如图所示3、实例4、pytorch中动量设置。原创 2023-12-27 10:55:37 · 43 阅读 · 0 评论 -
6-减少过拟合reduce overfitting
1、增多数据more data2、降低模型复杂度constraint model complexity裁剪shallow归一化regularization权重衰减weight decay3、dropout。原创 2023-12-26 22:37:43 · 89 阅读 · 0 评论 -
7-函数最优解优化问题
【代码】函数最优解优化问题。原创 2023-12-26 15:02:55 · 495 阅读 · 0 评论 -
8-pytorch中常见的合并和分割
【代码】pytorch中常见的合并和分割。原创 2023-12-22 10:55:04 · 610 阅读 · 0 评论 -
9-pytorch中常见的维度操作
2、squeeze;unsqueeze:压缩维度和增加维度(相对于维度为1的数据)3、transpose;permute:维度顺顺序变换(转置)Flatten:维度合并和分解。repeat:维度扩展。原创 2023-12-21 15:03:39 · 1002 阅读 · 0 评论 -
10-pytorch梯度更新方法
深度学习的核心是梯度下降算法,即:y = wx + b▽w。原创 2023-12-20 15:41:52 · 876 阅读 · 0 评论 -
11-深度学习模型架构-基础版-cpu
【代码】深度学习模型架构-基础版-cpu。原创 2023-12-20 15:31:20 · 401 阅读 · 0 评论