深度学习
文章平均质量分 54
pythonSuperman
这个作者很懒,什么都没留下…
展开
-
池化
池化(Pooling)是卷积神经网络(CNN)中一个重要的操作,主要用于(feature maps)的维度,提高网络的抽象能力,同时减少计算量和防止过拟合。原创 2024-05-20 21:53:26 · 233 阅读 · 0 评论 -
深度学习训练中“num_workers”的作用
在深度学习训练中,是一个常见的参数,特别是在使用数据加载器(如PyTorch的DataLoader)时。指定了用于数据加载的。这个参数对于提高数据加载的效率和加速训练过程至关重要。原创 2024-04-04 22:22:48 · 501 阅读 · 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 · 391 阅读 · 0 评论 -
DeepLearning MobileViT训练过程学习
【代码】DeepLearning MobileViT训练过程学习。原创 2024-04-02 20:51:17 · 83 阅读 · 0 评论 -
Resnet详解
下采样:图像高宽变小上采样:图像高宽变大当步距为1的时候,卷积的处理是不会改变特诊矩阵的高和宽的。原创 2024-04-02 15:22:04 · 127 阅读 · 0 评论 -
理论学习:CNN卷积核与通道讲解
以彩色图像为例,包含三个通道,分别表示RGB三原色的像素值,输入为(3,5,5),分别表示3个通道,每个通道的宽为5,高为5。假设卷积核只有1个,卷积核通道为3,每个通道的卷积核大小仍为3x3,padding=0,stride=1。原创 2024-03-15 11:07:59 · 342 阅读 · 0 评论 -
理论学习:损失函数 | 交叉熵损失函数
该标准计算输入 logits 和目标之间的交叉熵损失。原创 2024-03-11 19:54:12 · 519 阅读 · 0 评论 -
理论学习:logits softmax
模型的输出层通常会应用一个激活函数,例如Softmax函数,将Logits转换为概率分布。Logits通常是线性函数的输出结果,在应用激活函数之前。在线性函数之后,通常会应用一个激活函数,例如Softmax函数或Sigmoid函数,将Logits转换为概率或者范围在[0, 1]之间的实数。在训练过程中,模型通过比较Logits和真实标签之间的差异来计算损失,并通过反向传播算法来更新模型的参数。总而言之,Logits是指模型输出层在应用激活函数之前的原始预测值,它提供了模型对不同类别的置信度或得分信息。原创 2024-03-11 19:25:12 · 864 阅读 · 0 评论 -
Be Your Own Teacher 论文阅读
参考文献:原创 2024-03-11 16:39:26 · 449 阅读 · 0 评论 -
理论学习:全连接层和Softmax层
通常的模型结构是:全连接层的输出作为Softmax层的输入,Softmax层的输出作为模型的最终预测结果。因此,全连接层和Softmax层通常一起使用,全连接层提供了模型的原始输出(logits),而Softmax层将其转换为概率分布,使模型可以输出每个类别的预测概率,并进行训练和预测。全连接层(也称为线性层或密集连接层)是深度学习模型中常见的层之一,它将输入张量与权重矩阵相乘,并添加偏置项,然后应用激活函数。Softmax层接收全连接层的输出作为输入,并将其转化为每个类别的概率值。在多类别分类任务中,原创 2024-03-11 15:24:56 · 1300 阅读 · 0 评论 -
理论学习 BatchNorm2d
表示一个批次大小为20的具有100个通道的二维图像。然后,将输入张量传递给。模块进行批归一化操作。首先,创建了一个具有100个通道的。,默认情况下具有可学习的参数。然后,又创建了一个相同的。这段代码展示了如何使用 PyTorch 中的。的形状,以验证批归一化操作的结果。进行批归一化操作,得到输出张量。接下来,创建了一个输入张量。来禁用了可学习的参数。原创 2024-03-11 11:46:44 · 187 阅读 · 0 评论 -
根据验证集和训练集的损失值曲线判断是否过拟合
过拟合是指模型对训练数据学得太好,以至于它对未见过的数据(如验证集和测试集中的数据)泛化能力差。此外,如果模型在验证集上的表现不佳,可以考虑使用更简单的模型或者减少模型复杂度。模型的复杂度与过拟合之间有直接的关系:通常模型越复杂,过拟合的风险越高。尽管模型在验证集上的表现可能仍在改善,但这种改善的速度远不及在训练集上的速度。为了避免过拟合,可以采取一些措施,如早期停止(即在验证损失开始增加时停止训练),使用正则化技术(如L1、L2正则化),以及采用数据增强等方法来增加训练数据的多样性。原创 2024-03-11 11:10:06 · 1106 阅读 · 0 评论 -
Pytorch中使用TensorBoard
【代码】Pytorch中使用TensorBoard。原创 2024-03-10 20:25:54 · 87 阅读 · 0 评论 -
理论学习 特征融合
低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,是改善模型的关键。2 早/晚融合-Concat/Add很多工作通过融合多层来提升性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。早融合(Early fusion):先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。原创 2024-03-10 15:37:43 · 578 阅读 · 0 评论 -
FPN(Feature Pyramid Network)
Feature pyramid network是CVPR2017年的一篇文章,它在目标检测中融入了特征金字塔,提高了目标检测的准确率,尤其体现在的检测上。原创 2024-03-10 15:33:34 · 937 阅读 · 0 评论 -
理论学习 消融实验
系统中的特定的部分,来控制变量式的研究这个部分对于系统整体的影响。如果去除这一部分后系统的性能没有太大损失,那么说明这一部分对于整个系统而言并不具有太大的重要性;如果去除之后系统性能明显的下降,则说明这一部分的设计是必不可少的。当然,如果出现了第三种情况,也就是去除之后模型的性能不降反升,那么建议找一下bug或者修改设计。做消融实验会帮助理解构成系统的哪些部分是真正有用的,而哪些模块是可有可无的。因此消融实验可以帮助设计出更简单且工作的模型。因此,如果可以用两种模型获得相同的性能,则优先选择更简单的模型。原创 2024-03-10 15:03:02 · 294 阅读 · 0 评论 -
正则化解决过拟合
在原来的损失函数后加入正则化项。原创 2024-03-06 17:58:28 · 299 阅读 · 0 评论 -
半监督 伪标签
伪标签的定义来自于半监督学习,。原创 2024-03-09 13:30:14 · 277 阅读 · 0 评论 -
计算机视觉及图像预处理 04-形态变换(一)
仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是直线;平行性是指图像在完成仿射变换后,平行线仍然是平行线。原创 2022-11-02 21:18:53 · 164 阅读 · 0 评论 -
目标检测中的常见指标
在图像分类中,通常是通过统计在验证集当中分类正确的个数除以验证集的总样本数,就能得到一个准确率。mAP:mean Average Precision,即各类别AP的平均值。原创 2024-02-01 12:03:31 · 109 阅读 · 0 评论 -
RCNN 学习
RCNN算法流程可分为4个步骤利用算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。将2000候选区域缩放到227x227pixel,接着将候选区域输入事先训练好的AlexNet CNN网络获取4096维的特征得到2000X4096维矩阵。将2000X4096维特征与20个SVM组成的权值矩阵4096X20相乘获得2000X20维矩阵表示每个建议框是某个目标类别的。原创 2023-12-10 12:09:00 · 958 阅读 · 0 评论 -
Transformers在数据量不足时,训练不能很好地泛化
而Transformer 模型在处理序列数据时更为出色,但在面对具有平移等效性和局部性的数据时可能需要更多的数据来学习这些特征。当数据量不足时,模型可能会过度拟合训练数据,即过度记忆训练集中的样本特征,而无法很好地推广到新的数据上。在上述引述中,"训练不能很好地泛化"指的是当使用较少的数据进行训练时,Transformer 模型在未见过的数据上表现不佳的情况。一个好的模型应该能够从训练数据中学到通用的模式和规律,并且能够将这些学习应用到新的数据上。泛化是指模型在面对新的、未见过的数据时的能力。原创 2024-01-19 10:46:18 · 476 阅读 · 0 评论 -
过拟合及解决办法
过拟合:实际数据:不能成功表达除了训练数据以外的其他数据。y = Wx,W为机器学习所需要学习到的各种参数,在过拟合中,W往往变化率比较大。为了不让W一次性变化的太大,需要在计算误差值上做一些手脚。这样保证让学出来的曲线没有那么扭曲。 每一次训练中随机失活部分神经元, 让每一次预测结果都不会依赖于某一部分特定的神经元。原创 2024-02-20 15:52:27 · 147 阅读 · 0 评论 -
半监督
这段代码的作用是根据配置中的设置,创建训练集和验证集的数据加载器。在半监督学习中,训练集中的样本被分为有标签和无标签样本,并使用不同的批次采样方式对它们进行训练。是一个用于处理图像文件夹数据集的类,它假设图像文件夹的结构是按照类别分组的,每个类别的图像放在对应的子文件夹中。函数根据标签文件将训练集中的样本分为有标签和无标签样本,并返回有标签样本的索引和无标签样本的索引。确保有标签样本和无标签样本的数量与训练集中的总样本数量相等。的函数,用于创建训练集和验证集的数据加载器。创建一个只包含有标签样本的采样器。原创 2024-03-07 22:35:53 · 380 阅读 · 0 评论 -
CIFAR数据集
CIFAR数据集的广泛应用使得它成为计算机视觉算法研究和评估的重要基准数据集之一。它的相对较小的规模和相对较低的分辨率使得算法的训练和评估更加高效,同时仍能提供具有挑战性的任务。数据集更为复杂,包含100个类别,每个类别有600张图像,总计60,000张图像。这些类别涵盖了更多的细粒度类别,如不同品种的鸟类、狗和猫等。CIFAR数据集包含了多个子数据集,其中最常用的是CIFAR-10和CIFAR-100。这些类别包括飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车。原创 2024-03-04 17:33:50 · 228 阅读 · 0 评论 -
知识蒸馏 pytorch官网源码分析
知识蒸馏的损失函数只接受两个相同维度的输入,所以我们需要采取措施使他们在进入损失函数之前是相同维度的。我们将使用平均池化层对在教师模型卷积运算后的logits进行池化,使得logits维度和学生保持一样。只有forward函数内有调整。原创 2024-02-29 19:07:49 · 477 阅读 · 0 评论 -
激活函数往往是神经网络的最后一层吗
需要注意的是,有些特殊的网络结构或任务可能不使用激活函数,例如在一些回归任务中,输出层可能直接输出实数值而不经过激活函数。此外,一些特殊的网络结构,如生成对抗网络(GANs)中的生成器部分,也可能使用特定的激活函数,如LeakyReLU。在神经网络的隐藏层中,激活函数常常被应用于每个神经元的输出,将输入信号进行非线性映射。在输出层,激活函数的选择取决于任务的性质,可以是Sigmoid、Softmax等。激活函数的作用是引入非线性变换,使得神经网络能够学习和表示。在输出层中,激活函数的选择取决于任务的性质。原创 2024-02-29 18:14:28 · 276 阅读 · 0 评论 -
计算机视觉及图像预处理 01-计算机视觉概述
计算机视觉(Computer Vision,简称CV)在广义上是和图像相关的技术总称。包括图像的采集获取,图像的压缩编码,图像的存储和传输,图像的合成,三维图像重建,图像增强,图像修复,图像的分类和识别,目标的检测、跟踪、表达和描述,特征提取,图像的显示和输出等等。原创 2022-11-01 22:07:08 · 876 阅读 · 0 评论 -
泰坦尼克号幸存者预测
一个python关于数据处理的项目,主要过程包括数据预处理、特征提取、特征选择、模型构建与求解,每一部分都有详细的分析和总结。由于时间原因,没有考虑文章的排版以及可能忽略了一些细节,欢迎大家一起学习交流~原创 2022-10-03 11:14:48 · 1662 阅读 · 0 评论 -
达内 光学字符识别
光学字符识别原创 2023-03-13 14:20:37 · 50 阅读 · 0 评论 -
达内 目标检测02
定义(全程Regions with CNN features),是R-CNN系列的第一代算法,其实没有过多的使用“深度学习”思想,而是将“深度学习”和传统的“计算机视觉”知识相结合。比如R-CNN pipeline中的第二步和第四部其实就是传统的“计算机视觉”技术。使用selective search提取region proposals,使用SVM实现分类。原创 2023-03-12 22:21:29 · 246 阅读 · 0 评论 -
深度学习 目标检测01
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。原创 2023-03-12 11:37:53 · 428 阅读 · 0 评论 -
Tensorflow图像识别 Tensorflow手写体识别(二)
手写体识别完整代码和资源原创 2022-11-07 11:15:37 · 843 阅读 · 0 评论 -
Tensorflow图像识别 Tensorflow手写体识别(一)
手写数字的数据集原创 2022-11-06 23:38:01 · 841 阅读 · 0 评论 -
Tensorflow基础 05-Tensorboard可视化
可视化是用来查看在Tensorflow平台下程序运行的过程原创 2022-11-06 20:25:31 · 100 阅读 · 0 评论 -
Tensorflow基础 Tensorflow基本操作(三)
变量是一种op,它的值是张量原创 2022-11-06 20:01:55 · 245 阅读 · 0 评论 -
Tensorflow基础 Tensorflow基本操作(二)
张量类型转换原创 2022-11-06 17:40:00 · 204 阅读 · 0 评论 -
Tensorflow基本操作(一)
图描述了计算的过程。TensorFlow程序通常被组织成一个构件阶段和一个执行阶段。在构件阶段,op的执行步骤被描述成一个图。在执行阶段,使用会话执行图中的op原创 2022-11-06 16:55:51 · 138 阅读 · 0 评论 -
Tensorflow基础 01-Tensorflow概述
TensorFlow由谷歌人工智能团队谷歌大脑开发和维护的开源深度学习平台,是目前人工智能领域主流的开发平台。原创 2022-11-06 15:55:06 · 201 阅读 · 0 评论 -
深度学习基本理论 06-经典神经网络介绍
本章节介绍了卷积神经网络(CNN)原创 2022-11-04 13:30:40 · 82 阅读 · 0 评论