深度学习
文章平均质量分 51
pythonSuperman
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
语义分割 one-hot编码
GitHub - luwill/Deep-Learning-Image-Segmentation: Deep Learning Image Segmentation: Theory and Practice原创 2025-05-29 16:58:12 · 228 阅读 · 0 评论 -
在 语义分割 和 图像分类 任务中,image、label 和 output 的形状会有所不同。
图像分类 (Image Classification)原创 2025-05-22 17:10:18 · 902 阅读 · 0 评论 -
HSV颜色空间
(Hue, Saturation, Value)是一种常用的颜色表示方式,常用于图像处理和计算机视觉中。色调表示颜色的种类,即我们所说的“色彩”。它的值通常在 0 到 360 度之间,代表不同的颜色:0° 是红色,120° 是绿色,240° 是蓝色。其他颜色值则在这些基本颜色之间插值(例如 60° 为黄色,180° 为青色,300° 为紫色等)。色调是一个角度值,定义了色彩的本质。饱和度表示颜色的纯度或强度,值从 0 到 1。当 S = 0 时,颜色是灰色,即没有色彩;原创 2025-05-07 15:41:37 · 614 阅读 · 0 评论 -
消融实验_草稿
【代码】消融实验_草稿。原创 2025-04-11 19:18:48 · 241 阅读 · 0 评论 -
ISIC2017 数据集读取
【代码】ISIC2017 数据集读取。原创 2024-11-21 10:13:03 · 683 阅读 · 0 评论 -
dermamnist官方读取代码
【代码】dermamnist官方读取代码。原创 2024-11-19 10:39:14 · 244 阅读 · 0 评论 -
双重求和公式 从特征图到logits
原创 2024-08-26 16:45:34 · 368 阅读 · 0 评论 -
清除VSCode缓存 乱跳转的问题
【代码】清除VSCode缓存 乱跳转的问题。原创 2024-08-23 22:41:44 · 509 阅读 · 0 评论 -
指定GPU
【代码】指定GPU。原创 2024-08-13 11:48:35 · 258 阅读 · 0 评论 -
M2m中的采样
对于少数类的样本来说,即使它们在数据集中的绝对数量不多,也可以通过这种方式增加它们在每个训练批次中出现的次数,从而让模型更频繁地从这些少数类样本学习。这个过程虽然看起来是通过权重调整样本的选取概率,但实际上,通过这种方式也可以达到过采样的效果,尤其是当设置。这样,通过调整这些权重,我们可以控制模型在训练过程中看到的每个类别样本的频率,实现对类别不平衡的处理。不会直接导致过采样,但可以用来确保每个类别在数据批次中都有均等的代表性,从而帮助模型学习到更平衡的特征。在数据加载过程中,每个类别的样本将根据其在。原创 2024-05-27 16:21:01 · 314 阅读 · 0 评论 -
延迟重平衡优化(Deferred Re-balancing Optimization Schedule)
160epoch之前,每一类的权重是1;160epoch之后,每一类的权重经过带β公式计算的,更偏重与少数类的样本。原创 2024-05-27 11:41:34 · 262 阅读 · 0 评论 -
结果不能复现的原因 GPU cudnn cudnn.benchmark = True
在定义模型时,如果没有特定的GPU设置,会使用将模型并行化,充分利用多GPU的性能,这在加速训练上有显著影响。原创 2024-05-27 09:32:56 · 457 阅读 · 0 评论 -
模型的定义与创建 init forward
这段代码定义了一个定制化的 ResNet 架构,包括对权重初始化、网络层的定义和前向传播的实现。原创 2024-05-22 21:12:49 · 316 阅读 · 0 评论 -
池化
池化(Pooling)是卷积神经网络(CNN)中一个重要的操作,主要用于(feature maps)的维度,提高网络的抽象能力,同时减少计算量和防止过拟合。原创 2024-05-20 21:53:26 · 945 阅读 · 0 评论 -
深度学习训练中“num_workers”的作用
在深度学习训练中,是一个常见的参数,特别是在使用数据加载器(如PyTorch的DataLoader)时。指定了用于数据加载的。这个参数对于提高数据加载的效率和加速训练过程至关重要。原创 2024-04-04 22:22:48 · 2692 阅读 · 0 评论 -
Useros.environ[“CUDA_VISIBLE_DEVICES“] = “1“
您可以控制哪些GPU将被CUDA应用程序看到,进而被利用。这通常用在基于CUDA的应用程序中,尤其是在使用NVIDIA GPU进行深度学习开发时。这个设置通常在程序的最开始处进行,以确保在程序运行期间CUDA能够识别并使用正确的GPU设备。),则CUDA应用程序将不会看到任何GPU,因此只能使用CPU进行计算。例如,如果您有两个GPU,它们会被编号为0和1。,这表明CUDA应用程序可以看到并使用编号为0和1的两个GPU。告诉CUDA运行时库应当使用哪些GPU设备。,即使系统中有多个GPU。原创 2024-04-04 22:01:54 · 1616 阅读 · 0 评论 -
DeepLearning MobileViT训练过程学习
【代码】DeepLearning MobileViT训练过程学习。原创 2024-04-02 20:51:17 · 248 阅读 · 0 评论 -
Resnet详解
下采样:图像高宽变小上采样:图像高宽变大当步距为1的时候,卷积的处理是不会改变特诊矩阵的高和宽的。原创 2024-04-02 15:22:04 · 296 阅读 · 0 评论 -
理论学习:CNN卷积核与通道讲解
以彩色图像为例,包含三个通道,分别表示RGB三原色的像素值,输入为(3,5,5),分别表示3个通道,每个通道的宽为5,高为5。假设卷积核只有1个,卷积核通道为3,每个通道的卷积核大小仍为3x3,padding=0,stride=1。原创 2024-03-15 11:07:59 · 894 阅读 · 0 评论 -
理论学习:损失函数 | 交叉熵损失函数
该标准计算输入 logits 和目标之间的交叉熵损失。原创 2024-03-11 19:54:12 · 1820 阅读 · 0 评论 -
理论学习:logits softmax
模型的输出层通常会应用一个激活函数,例如Softmax函数,将Logits转换为概率分布。Logits通常是线性函数的输出结果,在应用激活函数之前。在线性函数之后,通常会应用一个激活函数,例如Softmax函数或Sigmoid函数,将Logits转换为概率或者范围在[0, 1]之间的实数。在训练过程中,模型通过比较Logits和真实标签之间的差异来计算损失,并通过反向传播算法来更新模型的参数。总而言之,Logits是指模型输出层在应用激活函数之前的原始预测值,它提供了模型对不同类别的置信度或得分信息。原创 2024-03-11 19:25:12 · 2298 阅读 · 0 评论 -
Be Your Own Teacher 论文阅读
参考文献:原创 2024-03-11 16:39:26 · 583 阅读 · 0 评论 -
理论学习:全连接层和Softmax层
通常的模型结构是:全连接层的输出作为Softmax层的输入,Softmax层的输出作为模型的最终预测结果。因此,全连接层和Softmax层通常一起使用,全连接层提供了模型的原始输出(logits),而Softmax层将其转换为概率分布,使模型可以输出每个类别的预测概率,并进行训练和预测。全连接层(也称为线性层或密集连接层)是深度学习模型中常见的层之一,它将输入张量与权重矩阵相乘,并添加偏置项,然后应用激活函数。Softmax层接收全连接层的输出作为输入,并将其转化为每个类别的概率值。在多类别分类任务中,原创 2024-03-11 15:24:56 · 10496 阅读 · 0 评论 -
理论学习 BatchNorm2d
表示一个批次大小为20的具有100个通道的二维图像。然后,将输入张量传递给。模块进行批归一化操作。首先,创建了一个具有100个通道的。,默认情况下具有可学习的参数。然后,又创建了一个相同的。这段代码展示了如何使用 PyTorch 中的。的形状,以验证批归一化操作的结果。进行批归一化操作,得到输出张量。接下来,创建了一个输入张量。来禁用了可学习的参数。原创 2024-03-11 11:46:44 · 249 阅读 · 0 评论 -
根据验证集和训练集的损失值曲线判断是否过拟合
过拟合是指模型对训练数据学得太好,以至于它对未见过的数据(如验证集和测试集中的数据)泛化能力差。此外,如果模型在验证集上的表现不佳,可以考虑使用更简单的模型或者减少模型复杂度。模型的复杂度与过拟合之间有直接的关系:通常模型越复杂,过拟合的风险越高。尽管模型在验证集上的表现可能仍在改善,但这种改善的速度远不及在训练集上的速度。为了避免过拟合,可以采取一些措施,如早期停止(即在验证损失开始增加时停止训练),使用正则化技术(如L1、L2正则化),以及采用数据增强等方法来增加训练数据的多样性。原创 2024-03-11 11:10:06 · 3881 阅读 · 0 评论 -
Pytorch中使用TensorBoard
【代码】Pytorch中使用TensorBoard。原创 2024-03-10 20:25:54 · 145 阅读 · 0 评论 -
理论学习 特征融合
低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,是改善模型的关键。2 早/晚融合-Concat/Add很多工作通过融合多层来提升性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。早融合(Early fusion):先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。原创 2024-03-10 15:37:43 · 795 阅读 · 0 评论 -
FPN(Feature Pyramid Network)
Feature pyramid network是CVPR2017年的一篇文章,它在目标检测中融入了特征金字塔,提高了目标检测的准确率,尤其体现在的检测上。原创 2024-03-10 15:33:34 · 1035 阅读 · 0 评论 -
理论学习 消融实验
系统中的特定的部分,来控制变量式的研究这个部分对于系统整体的影响。如果去除这一部分后系统的性能没有太大损失,那么说明这一部分对于整个系统而言并不具有太大的重要性;如果去除之后系统性能明显的下降,则说明这一部分的设计是必不可少的。当然,如果出现了第三种情况,也就是去除之后模型的性能不降反升,那么建议找一下bug或者修改设计。做消融实验会帮助理解构成系统的哪些部分是真正有用的,而哪些模块是可有可无的。因此消融实验可以帮助设计出更简单且工作的模型。因此,如果可以用两种模型获得相同的性能,则优先选择更简单的模型。原创 2024-03-10 15:03:02 · 689 阅读 · 0 评论 -
正则化解决过拟合
在原来的损失函数后加入正则化项。原创 2024-03-06 17:58:28 · 849 阅读 · 0 评论 -
半监督 伪标签
伪标签的定义来自于半监督学习,。原创 2024-03-09 13:30:14 · 410 阅读 · 0 评论 -
计算机视觉及图像预处理 04-形态变换(一)
仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是直线;平行性是指图像在完成仿射变换后,平行线仍然是平行线。原创 2022-11-02 21:18:53 · 376 阅读 · 0 评论 -
目标检测中的常见指标
在图像分类中,通常是通过统计在验证集当中分类正确的个数除以验证集的总样本数,就能得到一个准确率。mAP:mean Average Precision,即各类别AP的平均值。原创 2024-02-01 12:03:31 · 163 阅读 · 0 评论 -
RCNN 学习
RCNN算法流程可分为4个步骤利用算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。将2000候选区域缩放到227x227pixel,接着将候选区域输入事先训练好的AlexNet CNN网络获取4096维的特征得到2000X4096维矩阵。将2000X4096维特征与20个SVM组成的权值矩阵4096X20相乘获得2000X20维矩阵表示每个建议框是某个目标类别的。原创 2023-12-10 12:09:00 · 1178 阅读 · 0 评论 -
Transformers在数据量不足时,训练不能很好地泛化
而Transformer 模型在处理序列数据时更为出色,但在面对具有平移等效性和局部性的数据时可能需要更多的数据来学习这些特征。当数据量不足时,模型可能会过度拟合训练数据,即过度记忆训练集中的样本特征,而无法很好地推广到新的数据上。在上述引述中,"训练不能很好地泛化"指的是当使用较少的数据进行训练时,Transformer 模型在未见过的数据上表现不佳的情况。一个好的模型应该能够从训练数据中学到通用的模式和规律,并且能够将这些学习应用到新的数据上。泛化是指模型在面对新的、未见过的数据时的能力。原创 2024-01-19 10:46:18 · 1188 阅读 · 0 评论 -
过拟合及解决办法
过拟合:实际数据:不能成功表达除了训练数据以外的其他数据。y = Wx,W为机器学习所需要学习到的各种参数,在过拟合中,W往往变化率比较大。为了不让W一次性变化的太大,需要在计算误差值上做一些手脚。这样保证让学出来的曲线没有那么扭曲。 每一次训练中随机失活部分神经元, 让每一次预测结果都不会依赖于某一部分特定的神经元。原创 2024-02-20 15:52:27 · 289 阅读 · 0 评论 -
半监督
这段代码的作用是根据配置中的设置,创建训练集和验证集的数据加载器。在半监督学习中,训练集中的样本被分为有标签和无标签样本,并使用不同的批次采样方式对它们进行训练。是一个用于处理图像文件夹数据集的类,它假设图像文件夹的结构是按照类别分组的,每个类别的图像放在对应的子文件夹中。函数根据标签文件将训练集中的样本分为有标签和无标签样本,并返回有标签样本的索引和无标签样本的索引。确保有标签样本和无标签样本的数量与训练集中的总样本数量相等。的函数,用于创建训练集和验证集的数据加载器。创建一个只包含有标签样本的采样器。原创 2024-03-07 22:35:53 · 664 阅读 · 0 评论 -
CIFAR数据集
CIFAR数据集的广泛应用使得它成为计算机视觉算法研究和评估的重要基准数据集之一。它的相对较小的规模和相对较低的分辨率使得算法的训练和评估更加高效,同时仍能提供具有挑战性的任务。数据集更为复杂,包含100个类别,每个类别有600张图像,总计60,000张图像。这些类别涵盖了更多的细粒度类别,如不同品种的鸟类、狗和猫等。CIFAR数据集包含了多个子数据集,其中最常用的是CIFAR-10和CIFAR-100。这些类别包括飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车。原创 2024-03-04 17:33:50 · 1185 阅读 · 0 评论 -
知识蒸馏 pytorch官网源码分析
知识蒸馏的损失函数只接受两个相同维度的输入,所以我们需要采取措施使他们在进入损失函数之前是相同维度的。我们将使用平均池化层对在教师模型卷积运算后的logits进行池化,使得logits维度和学生保持一样。只有forward函数内有调整。原创 2024-02-29 19:07:49 · 651 阅读 · 0 评论 -
激活函数往往是神经网络的最后一层吗
需要注意的是,有些特殊的网络结构或任务可能不使用激活函数,例如在一些回归任务中,输出层可能直接输出实数值而不经过激活函数。此外,一些特殊的网络结构,如生成对抗网络(GANs)中的生成器部分,也可能使用特定的激活函数,如LeakyReLU。在神经网络的隐藏层中,激活函数常常被应用于每个神经元的输出,将输入信号进行非线性映射。在输出层,激活函数的选择取决于任务的性质,可以是Sigmoid、Softmax等。激活函数的作用是引入非线性变换,使得神经网络能够学习和表示。在输出层中,激活函数的选择取决于任务的性质。原创 2024-02-29 18:14:28 · 852 阅读 · 0 评论
分享