- 博客(241)
- 收藏
- 关注
原创 yolov1网络架构的介绍
输入:YOLOv1的输入图像大小被固定为448x448像素(三通道)。需要注意的是,在训练阶段,为了加快训练速度,可能会使用较小的输入尺寸(如224x224像素),但在测试阶段会采用448x448像素的输入尺寸以获得更好的检测效果。YOLOv1的网络结构:借鉴了GoogLeNet(现已更名为Inception V1)的设计,主要由卷积层、池化层和全连接层组成。具体来说,YOLOv1的网络包含24个卷积层、4个最大池化层和2个全连接层。
2024-08-03 03:57:35
1910
原创 聚类先验框
聚类先验框是指通过聚类算法(K-means算法)从训练数据集的边界框中提取出的一组固定大小和比例的矩形框,用于指导目标检测网络的学习和预测。在目标检测,尤其是YOLO系列算法任务中扮演着重要角色。
2024-08-03 01:09:57
342
原创 yolov2的网络架构
YOLOv2(You Only Look Once version 2)是一种流行的实时目标检测系统,由 Joseph Redmon 和他的同事在 2016 年提出。YOLOv2 在其前身 YOLO 的基础上进行了改进,包括速度和准确性的提升。本文将介绍 YOLOv2 网络架构的关键特点。
2024-08-02 21:26:57
714
原创 置信度介绍:Yolo系列中的置信度概念
在深度学习和计算机视觉领域,Yolo(You Only Look Once)系列模型以其高效的实时目标检测能力而闻名。在这些模型中,置信度(Confidence)是一个核心概念,它对于理解和评估模型的检测性能至关重要。 在Yolo模型中,置信度是一个综合性的指标,它同时反映了两个方面的信息: 这是模型认为当前边界框内确实存在一个检测目标的概率。如果模型非常确信边界框内存在一个目标,那么这个置信度值就会很高。 即使模型认为边界框内存在目标,这个边界框也可能不是完美的,
2024-08-02 20:02:12
1293
原创 YOLO模型的MVP值综合评价指标
MVP值旨在提供一种全面的方法来衡量目标检测模型的性能。P(Precision) - 精确度V(Velocity) - 速度A(Applicability) - 实用性。
2024-08-02 19:22:18
474
原创 循环神经网络(RNN)基本原理
RNN(Recurrent Neural Network,循环神经网络)是一种特殊的神经网络结构,它主要用于处理和预测序列数据中的元素。与传统的神经网络(如全连接神经网络或卷积神经网络CNN)不同,RNN能够在处理每个元素时保留之前元素的信息,这使得它们非常适合于时间序列分析、自然语言处理(NLP)等任务。
2024-07-29 05:41:56
514
原创 List网络中的遗忘门
LSTM通过门控机制实现了对信息的精细控制,从而能够更好地处理序列数据中的长期依赖关系。这对于诸如自然语言处理等领域是非常重要的,因为这些领域的数据往往包含大量的上下文信息。
2024-07-28 17:06:32
312
原创 使用tqdm库在Python中优雅地显示进度条
在Python编程中,当我们处理长时间运行的循环或任务时,了解任务的进度对于用户来说是非常有帮助的。tqdm是一个流行的Python库,它可以帮助我们在命令行中方便地显示进度条。本文将介绍如何使用tqdm库来增强你的Python脚本和项目的用户体验。
2024-07-28 16:26:32
578
原创 卷积神经网络CNN中池化层的原理分析
池化层(Pooling Layer)是卷积神经网络(CNN)中一种至关重要的层级结构,其主要作用在于对卷积层的输出进行降采样处理,以减少特征图的大小和参数数量,进而降低计算量,提高模型的泛化能力和训练速度。提供空间不变性:即使输入图像中的特征在空间位置上发生小的偏移,由于最大池化只关注窗口内的最大值,因此输出特征图仍然能够保持相对稳定,这有助于模型对输入图像的微小变化更加鲁棒。保留显著特征:通过选取最大值,最大池化能够保留特征图中最显著的特征,这些特征对于后续的分类或识别任务可能是最有用的。
2024-07-28 16:16:49
1223
原创 深度学习之使用numpy库中的方法保存词向量
使用np.savez()方法保存词向量存储为npz文件。npz文件:是numpy库中的一种数据格式,它是一种压缩文件,可以保存多个数组和元数据。另外一种方法:np.save(),存储得到的是npy文件。npy文件和npz文件是NumPy库中用于存储数组数据的两种不同格式,它们在用途、功能以及存储方式上存在一些区别和联系。.npy文件:用于存储单个NumPy数组。它直接存储数组数据,包括数组的形状(维度)、数据类型以及其他必要的元数据信息,以确保数据的完整性和可恢复性。
2024-07-28 15:20:52
1289
原创 nn.Embedding()网络层
nn.Embedding 是 PyTorch 中的一个模块,用于将离散的词汇或索引映射到连续的向量空间。这种嵌入层通常用于处理诸如单词、字符或其他类型的离散数据,它们在自然语言处理(NLP)和计算机视觉任务中非常有用。
2024-07-28 15:15:35
393
原创 cbow原理及实现
最后,给定上下文词列表,模型预测目标词的词向量表示,并将训练得到的词向量保存为npz文件。具体而言,CBOW模型通过将上下文中的词的词向量相加,得到一个上下文向量,然后通过一个隐藏层将上下文向量映射到目标词的概率分布。在训练过程中,CBOW模型通过最大化预测目标词的概率来学习到每个词的词向量表示。7.将预测的结果1*V 向量和真实标签1*V 向量(真实标签中的V个值中有一个是1,其他是0)计算误差。4.将这个1*N 向量乘矩阵 W’v*N,变成一个1*V 向量。6.将概率值最大的数对应的词作为预测词。
2024-07-27 05:02:29
1108
原创 Skip-Gram模型原理详解
在自然语言处理(NLP)领域,Skip-Gram模型是一种经典且强大的词向量表示方法。它通过预测给定单词周围的上下文单词来学习单词的分布式表示,从而捕捉单词之间的语义关系。本文将详细介绍Skip-Gram模型的原理,包括其数据预处理、神经网络架构、目标函数以及优化算法。
2024-07-26 21:18:06
1483
原创 One-Hot 编码
One-Hot 编码是一种将类别型特征转换为数值型特征的方法。具体来说,它将每个类别值映射到一个二进制向量中,该向量长度等于类别数,其中只有一个位置的值为 1 表示该类别,其余位置均为 0。例如,假设我们有一个颜色属性,它可以取三个不同的值:红、绿、蓝。红色: [1, 0, 0]绿色: [0, 1, 0]蓝色: [0, 0, 1]这种编码方式的好处是消除了类别之间的顺序关系,避免了数值编码时可能引入的误导性信息。
2024-07-26 20:35:37
521
原创 Resnet结构介绍
ResNet,全称为残差网络(Residual Networks),是一种深度卷积神经网络架构,由微软研究院的Kaiming He等人于2015年提出。ResNet在多个视觉识别任务中取得了当时的最佳性能,并在深度学习领域产生了深远的影响。
2024-07-26 20:02:18
2477
原创 调整学习率之自适应调整
在机器学习与深度学习的领域中,学习率(Learning Rate)是一个至关重要的超参数,它决定了模型在优化过程中参数更新的步长。一个合适的学习率能够显著提高模型的训练效率和最终性能。然而,固定的学习率策略往往难以适应复杂多变的训练环境,因此,自适应学习率调整技术应运而生。本文将简单介绍自适应学习率调整技术。
2024-07-26 02:12:25
821
原创 调整学习率之有序调整
如果学习率设置得太高,模型可能会在最优解附近来回震荡,甚至无法收敛;如果学习率设置得太低,模型收敛速度会非常慢,甚至可能陷入局部最优解。因此,如何有效地调整学习率是训练深度学习模型的一项关键技术。调整学习率是训练深度学习模型过程中非常重要的一环。通过合理的学习率调整策略,可以显著提高模型的收敛速度和效果。在实际应用中,可以根据具体任务和数据特点,选择合适的学习率调整方法,并进行有序的组合和调整。首先固定学习率:固定学习率是最简单的一种策略,即在整个训练过程中,学习率保持不变。
2024-07-25 21:23:12
199
原创 深度学习中的数据增强
在深度学习中,数据增强(Data Augmentation)是一种提高模型泛化能力的技术,通过从现有数据集中生成新的训练样本来增加数据多样性。数据增强尤其对于图像分类、目标检测和语义分割等计算机视觉任务非常有用,因为这些任务通常需要大量的标注数据。本文将以pytorch中的torchvision.transforms为例介绍常见的数据增强技术。
2024-07-25 20:48:12
385
原创 在自定义类中__getitem__ 和 __next__ 的使用
_getitem__ 和 __next__ 是 Python 中常用的特殊方法,用于在自定义类中实现对象的索引访问和迭代功能。
2024-07-25 03:20:35
506
原创 使用PyTorch构建和训练CNN模型进行食物分类
在这篇博客中,我们将展示如何使用PyTorch库来构建一个卷积神经网络(CNN)模型,用于食物图像的分类。我们将从头开始,包括数据准备、模型设计、训练过程、模型评估以及使用训练好的模型进行图像预测。
2024-07-24 22:13:27
755
原创 深度解析:卷积神经网络的奥秘与魅力
在当今的人工智能时代,卷积神经网络(Convolutional Neural Networks,简称CNNs)无疑是计算机视觉领域的明星。从图像识别到自动驾驶汽车,从医学影像分析到艺术创作,CNNs的应用无处不在,其背后的原理也值得我们深入探索。本文旨在揭开CNNs的神秘面纱,揭示其工作原理与内在机制。
2024-07-23 02:42:46
694
原创 使用简化VGGnet对MNIST数据集进行训练
可以继续添加层,但考虑到MNIST的简单性,这里就足够了nn.Linear(128 * 7 * 7, 1024), # 根据特征图大小调整这个值return xmodel = VGG_MNIST().to(device) # 把刚刚创建的模型传入到 Gpumodel.train() # #告诉模型要开始训练,模型中ω进行随机化操作,以及更新ω,在训练过程中,ω会被修改for X, y in dataloader: # 其中batch为每个数据的编号。
2024-07-22 22:04:34
789
原创 激活函数的深度探索:梯度消失与ReLU的崛起
在人工神经网络(ANN)的广阔领域中,激活函数(Activation Functions)扮演着至关重要的角色。它们不仅决定了神经元如何响应输入信号,还直接影响了整个网络的学习能力和表达能力。本文将深入探讨激活函数的基本概念、梯度消失问题以及ReLU激活函数的独特优势。
2024-07-22 20:04:57
655
原创 卷积神经网络中的卷积层计算方法
卷积神经网络(Convolutional Neural Networks, CNNs)自诞生以来,就以其强大的特征提取能力和对大规模视觉数据的处理效率,在计算机视觉领域占据了主导地位。本文旨在深入解析CNN中最核心的组件——卷积层,从理论基础到实践应用,带您全面了解这一神奇的机制。卷积层的设计灵感来源于人类视觉系统。人脑中的初级视觉皮层包含多种类型的神经元,它们对特定方向和位置的边缘敏感。
2024-07-22 19:57:47
835
原创 深度学习梯度清零、反向传播和参数更新
在深度学习中,梯度清零、反向传播和参数更新通常在每个训练迭代中执行,以确保模型能够逐渐学习到数据的内在模式。
2024-07-22 09:46:34
638
原创 梯度下降算法函数的详细解释
它的核心思想是通过迭代的方式,沿着损失函数梯度(或者说损失函数在某一点的导数)的负方向,更新模型的参数,从而使损失函数的值逐渐减小,直至达到局部最小值或满足某种停止准则。Adagrad 是另一种自适应学习率优化算法,它为每个参数维护一个累加的梯度平方和,然后使用这些信息来调整每个参数的学习率。:持续迭代,直到满足某个停止条件,如达到预定的迭代次数,或梯度的模长小于某个阈值,或损失函数的变化小于某个阈值。其中,𝜃θ 是参数向量,𝛼α 是学习率,∇𝐽(𝜃)∇J(θ) 是损失函数在参数𝜃θ处的梯度。
2024-07-22 03:51:36
1002
原创 使用含有三层隐层的神经网络识别手写数字
选择交叉熵损失作为损失函数,并使用随机梯度下降(SGD)作为优化器。# 实例化损失函数和优化器loss_fn = nn.CrossEntropyLoss() # 使用交叉熵损失函数optimizer = torch.optim.SGD(model.parameters(), lr=1) # 使用随机梯度下降优化器,学习率为1。
2024-07-22 01:10:01
361
原创 使用含有四层隐层的神经网络识别手写数字(完整代码详解)
本代码将使用含有四层隐层的神经网络识别手写数字,第1层256个神经元,第2层512个神经元,第3层128个神经元,第4层256个神经元。
2024-07-21 20:28:24
313
原创 Pytorch的安装及环境配置——GPU版
显示CUDA Version为11.6,说明该显卡最高支持到11.6,我这里就选择11.6的版本,你也可以选择更低的版本比如 11.5,11.4更低的版本。这里cpu是安装cpu版本的,cu是gpu版本的,cp指的是你的python版本,还有就是win和linux系统的选择,找到你所对应的版本将其点击下载。如果不知道python配置环境位置,可以打开命令行输入where python获取配置环境位置。这里我们就以11.6版本为例,点击跳转到以下画面,并依次点击。,则尚未配置,转步骤2.安装CUDN。
2024-07-20 00:28:21
781
原创 手写数字数据集下载
MNIST数据集由Yann LeCun等人创建,它包含60,000个训练样本和10,000个测试样本,每个样本都是28x28像素的手写数字图片(0到9)。这些图片是灰度图,非常适合用来训练和评估图像分类模型。下载和加载MNIST数据集都是一个简单的过程。一旦数据集准备好,你就可以开始构建你的深度学习模型了。但要注意对数据的处理,如归一化或转化成tensor数据类型等。
2024-07-19 19:59:23
1057
原创 BP神经网络的前向传播
BP神经网络,即反向传播(Backpropagation)神经网络,是一种多层前馈人工神经网络。它通过学习输入数据和期望输出之间的关系来训练网络的权重和偏置。BP神经网络的前向传播过程是信息从输入层经过每一层的加权和激活函数处理,最终到达输出层的过程。
2024-07-19 19:24:55
599
原创 深度学习入门:探索Softmax交叉熵损失函数在多分类中的应用
在多分类问题中,Softmax函数用于将神经网络的原始输出转换为概率分布。给定一个K维的原始输出向量z,Softmax函数会将其转换为一个新的K维向量σ(z),其中每个元素表示属于该类别的概率。这里,是向量z中的第j个元素,表示经过Softmax函数转换后,第j个类别的概率。
2024-07-19 18:47:17
430
原创 模型训练与结果展示(逻辑回归,随机森林,SVM算法,AdaBoost算法,XGBoost算法,GNB算法)
逻辑回归,SVM算法,AdaBoost算法同理,下列分别是这三者的对应模型函数与参数。其余几种都是与上文类似,将用于区别模型名字的RF与搜索得到的最佳参数更改即可。XGBoost算法需额外设定大量模型参数,在此单独展示完整代码。运用同一个数据集将其进行6种类型填充后保存结果如下。AdaBoost算法。GNB加上导入模型即可。
2024-07-19 10:03:09
446
原创 机器学习——数据清洗之处理缺失值
接下来,它查找每列中缺失值的数量,并对这些数量进行排序,从缺失值最少的列开始处理。处理数据集中的缺失值是数据清洗的重要组成部分,缺失值的存在会影响数据分析和机器学习模型的准确性和性能。类似,但处理的是测试数据和标签。它同样接收数据和标签,执行相同的合并、索引重置和缺失值删除步骤,然后返回处理后的测试特征数据和测试标签数据。此函数首先分别将训练数据和测试数据与各自的标签数据合并,然后根据不同的 '矿物类型' 类别分割训练数据和测试数据。最终,它会将所有处理过的数据段合并,并返回处理后的特征数据和标签数据。
2024-07-19 01:24:13
1950
原创 逻辑回归(LR)与随机森林(RF)分类算法比较分析
在机器学习领域,分类算法是基于数据模式进行预测的关键工具。逻辑回归(LR)和随机森林(RF)是两种常用的算法,由于其独特的特性和能力,在不同场景下展现出卓越的性能。
2024-07-18 19:28:03
1018
原创 详解AdaBoost算法
1)基学习器(base_estimator):AdaBoost算法中使用的弱学习器,常用的有决策树桩(Decision Tree Stumps)。2)迭代次数(n_estimators):弱学习器的数量,即算法迭代的次数。3)学习率(learning_rate):在每次迭代中,弱学习器权重的缩放因子。4)算法类型(algorithm):AdaBoost有两种实现,SAMME和SAMME.R。SAMME.R需要弱学习器支持概率预测。
2024-07-18 15:11:02
414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人