深度学习
文章平均质量分 81
以实战为线索,科普深度学习中常用的知识点
码农研究僧
计算机研究生、CSDN内容合伙人、全栈领域优质创作者、阿里云专家博主、资深技术砖家、专业铲除bug贡献者。商业合作&学习交流可私信联系
展开
-
探讨AIGC的发展现状以及趋势(2024)
AIGC(Artificial Intelligence in Games and Creativity,游戏与创意中的人工智能)技术的发展现状和未来趋势是一个令人兴奋的话题原创 2024-05-05 08:00:00 · 605 阅读 · 0 评论 -
了解常见的启发式算法
启发式算法是一类解决复杂问题的计算方法,通常用于在大规模搜索空间中找到较好的解决方案,而不是通过穷举搜索所有可能的解原创 2024-04-28 19:46:06 · 633 阅读 · 0 评论 -
详细分析Python中Tensor基本知识
Tensor是深度学习中广泛使用的数据结构,是多维数组或矩阵的泛化在深度学习框架中,如TensorFlow和PyTorch,Tensor被用来表示输入数据、模型参数和输出数据原创 2024-04-25 20:47:04 · 1353 阅读 · 0 评论 -
Python合并两张图片 | 先叠透明度再合并 (附Demo)
用在深度学习可增加噪音,增加数据集等推荐阅读:Pytorch 图像增强 实现翻转裁剪色调等 附代码(全)原创 2024-03-12 22:12:45 · 649 阅读 · 0 评论 -
集显如何安装pytorch (CPU)
确定自身为集显,想要安装CPU版本原创 2024-02-01 08:00:00 · 474 阅读 · 2 评论 -
深度学习中指定特定的GPU使用
出现出现 CUDA out of memory 的解决方法 除了代码上的优化,如果物理显卡支持也可选择另外一个GPU原创 2024-01-16 07:00:00 · 583 阅读 · 0 评论 -
模型训练 出现NaN的原因以及解决方法
学习率过高: 过大的学习率可能导致权重更新过大,使得权重变得非常大或非常小,从而导致数值不稳定性。梯度爆炸: 当反向传播过程中的梯度变得非常大时,权重更新可能会导致数值不稳定。这通常与深度神经网络中的梯度消失/爆炸问题有关。数值不稳定的激活函数: 某些激活函数在输入值很大或很小的情况下可能产生数值不稳定性。例如,Sigmoid函数在输入值非常大或非常小时可能会返回饱和的输出,导致梯度接近于零。数据预处理问题: 数据中的异常值或不稳定性可能导致网络在处理这些值时出现数值问题。原创 2023-12-05 11:36:10 · 2679 阅读 · 2 评论 -
Pytorch中的Net.train()和 Net.eval()函数讲解
这两个方法通常用于训练和测试阶段使用这两个方法的主要目的是确保在训练和测试阶段使用正确的模型行为。在没有涉及到 Batch Normalization 和 Dropout 的模型中,这两个函数的使用通常不是必须的,因为模型在训练和测试中的行为没有本质的不同。但在包含了这些层的模型中,使用 net.train() 和 net.eval() 可以确保在训练和测试阶段使用正确的模型行为,以防止对测试数据的不当影响。在测试阶段,关闭一些训练中使用的特殊处理可以提高模型的性能和稳定性,避免对测试数据的不当影响。原创 2023-11-29 16:26:57 · 961 阅读 · 0 评论 -
剖析深度学习中的epoch与batch_size关系、代码
为了区分深度学习中这两者的定义,详细讲解其关系以及代码在 PyTorch 中,“epoch”(周期)和 “batch size”(批大小)是训练神经网络时的两个重要概念它们用于控制训练的迭代和数据处理方式。Epoch 是指整个训练数据集被神经网络完整地遍历一次的次数。在每个 epoch 中,模型会一次又一次地使用数据集中的不同样本进行训练,以更新模型的权重。通常,一个 epoch 包含多个迭代(iterations),每个迭代是一次权重更新的过程。原创 2023-10-19 14:02:41 · 2927 阅读 · 0 评论 -
深入剖析 深度学习中 __init()__函数和forward()函数
再看代码时,发现init函数和forward函数都有参数,具体是怎么传参的呢?为了更方便的讲解,会举简单的代码例子结合讲解。forward()和__init__()是神经网络模型类中的两个重要函数。它们通常是通过类的实例化和调用来执行的。原创 2023-10-16 11:10:51 · 1530 阅读 · 0 评论 -
SteganoGAN项目代码的复现细节
一开始在window下运行出错,环境一直卡bug,想转linux系统运行但是bug在眼前,怎么能不解决,最终还是突破了bug,成功在window下执行。原创 2023-10-12 09:08:23 · 4451 阅读 · 13 评论 -
Pytorch中关于forward函数的理解与用法
深入深度学习框架的代码,发现forward函数没有被显示调用但代码确重写了forward函数,于是好奇是不是python的魔术方法起的作用。原创 2023-09-28 07:20:55 · 2994 阅读 · 2 评论 -
YOLOv5网络模型的结构原理讲解(全)
YOLOv5有几种不同的架构,各网络模型算法性能分别如下:YOLOv5是一种目标检测算法,其模型结构主要包括以下组成部分:输入端:YOLOv5的Head网络由3个不同的输出层组成,分别负责检测大中小尺度的目标。Backbone网络:YOLOv5使用CSPDarknet53作为其主干网络,其具有较强的特征提取能力和计算效率。Neck网络:YOLOv5使用的是FPN(FPN网络能够在不同的特征图层次上进行检测,可以提高目标检测的性能)网络,可以融合来自不同特征图层次的信息。输出端:损失函数,YOLOv5使用的原创 2023-04-25 19:40:01 · 52072 阅读 · 5 评论 -
batchsize大小对网络模型的理解
每一次的epoch都是将其数据集经过神经网络,进行正向传播以及反向传播。由于epoch训练的数据集可能过大,需要将其分块,对应设置batchsize的尺寸个数。训练数据的时候,batchsize的大小会影响精确度以及训练的时长问题等batchsize大小的选择,介于1到数据总量之间,选择过大或者过小都会出现极端。过小可能出现欠拟合,过大可能出现过拟合,具体选择多少的batchsize根据网络以及数据集来决定batchsize的大小决定梯度下降的方向和大小。原创 2023-04-14 18:04:38 · 1050 阅读 · 0 评论 -
Yolov5 代码从入门到畅通(v6.2) 附代码注释
网上资料对于Yolov5原理比较多,代码解释比较少。那就写个注释补充个流程吧这部分代码主要来源于官方,v6.2:官方github通过detect代码文件来预测window文件用\,而linux操作系统使用/一开始的文件都是导入包名(为了验证导入的包路径正确,使用如下的代码进行验证)整体的主函数为:对应命令行格式下的参数可以为图片或者视频流:,代码运行截图如下:具体解析参数的函数如下:具体main函数的执行如下:补充参数讲解,可看我这篇文章的补充:Python关于 *args 和 **kwargs原创 2022-11-19 19:51:45 · 10275 阅读 · 4 评论 -
You Only Look Once: Unified, Real-Time Object Detection(Yolov1) 论文详细解读
研究目标检测相关的论文,将其文章梳理总结如下目标检测主要分为两类Region Proposal的R-CNN系(R-CNN、Fast R-CNN、Faster R-CNN)。两个阶段YOLO、SSD。一个阶段所谓的两阶段与一阶段两个阶段:将其图片使用启发式或者CNN产生Region Proposal,在对其分类回归一个阶段:将其图片使用CNN输出类别与位置原本人类看一眼图像,就可知道图像在表达什么。原创 2022-09-23 11:24:15 · 1432 阅读 · 0 评论 -
Deep Residual Learning for Image Recognition (ResNet)论文详细解读
更深的神经网络更加难以训练,残差网络主要用来减轻训练的网络,这些网络比之前使用的网络都要深得多在ImageNet的的数据集中网络层数达到了152层,前一年夺冠的VGG只有19层。在COCO物体检测数据集上获得了28%的相对改进在以往的知识中,深度学习层数越深,提取的特征越多。如下图所示,并非网络层数越多越好。引起这部分的原因,这种现象主要是退化:随着网络层数的加深,准确性会达到饱和,梯度传播过程中会逐渐消失,导致无法对前面的网络层权重进行调整,训练误差加大,结果也随之变差。原创 2022-10-25 16:57:11 · 1633 阅读 · 0 评论 -
YOLO9000: Better, Faster, Stronger (Yolov2)论文详细解读
You Only Look Once: Unified, Real-Time Object Detection(Yolov1) 论文详细解读论文解读栏目(实时更新阅读)YOLOv1检测速度快,但是精度没有R-CNN高,但它是一阶段的初始代表。YOLOv2将其YOLOv1的精确度以及召回率提高,来提高mAP更准确、更快、类别更多(用于检测9000种类别)以下章节也是随着标题进行解析。原创 2022-10-31 21:19:49 · 875 阅读 · 0 评论 -
YOLOv3: An Incremental Improvement 论文详细解读
You Only Look Once: Unified, Real-Time Object Detection(Yolov1) 论文详细解读YOLO9000: Better, Faster, Stronger (Yolov2)论文详细解读论文解读栏目(实时更新阅读)原创 2022-11-02 11:46:02 · 402 阅读 · 0 评论 -
Yolov5 训练自已的数据集 详细图文操作(全)
大致思路在window操作系统安装labelimg(基于anconda环境下,创建出虚拟环境在安装labelimg)通过虚拟环境启动labelimg 并 添加对应的标注框训练自身的数据集Yolov5 代码从入门到畅通(v6.2) 附代码注释。原创 2022-11-20 14:46:11 · 1291 阅读 · 1 评论 -
Pytorch 图像增强 实现翻转裁剪色调等 附代码(全)
python之Matplotlib详细分析(附代码)数据比较少的时候使用数据增强是一个不错的选择# 此处的Path 该项目的相对路径 或者 绝对路径 # 读取 显示 照片 image = Image . open('Gym.jpg') print(image . size) image截图如下:(图片展示不全)数据增强的处理方式有如下。原创 2022-11-22 14:20:47 · 3103 阅读 · 0 评论 -
二元交叉熵的基本概念
反之如果两者越来越偏差,则数字会越来越大,如果两者直接对立,则损失趋近正无穷。当两者的标签值损失很大的时候,有利用模型的学习。通过上面的概率以及图像可得知,当预测标签和真实标签接近的时候,损失函数越接近。标签为1,p(y)概率趋近0,则整体的损失函数值为正无穷。标签为0,p(y)概率趋近1,则整体的损失函数值为正无穷。))为预测的标签值。对应公式为标签值乘以改标签的概率值。标签为1,p(y)概率趋近1,则整体的损失函数值为0。标签为0,p(y)概率趋近0,则整体的损失函数值为0。此文针对该知识点查漏补缺。原创 2022-10-14 15:53:19 · 1334 阅读 · 2 评论 -
三分钟认知Softmax和Sigmoid的详细区别
Softmax以及Sigmoid这两者都是神经网络中的激活函数,对应还有其他的激活函数引入激活函数是为了将其输入非线性化,使得神经网络可以逼近任何非线性函数(原本没有引入激活函数,就是多个矩阵进行相乘,无论神经网络多少层都是线性组合,这个概念是感知机)Softmax以及Sigmoid两者都是作为神经网络的最后一层,通过激活函数之后转换为概率值这两种激活函数如何选择,以及如何应用在不同场景,本身就是伯努利分布和二项分布的差别。原创 2022-10-13 20:26:49 · 15088 阅读 · 3 评论