深度学习
文章平均质量分 69
介绍深度学习相关的知识
卖报的大地主
书山有路勤为径,学海无涯苦作舟
展开
-
【细说fine-tuning】LoRA:低秩自适应策略(附官方代码与教程)
目前诸如GPT、Llama等大型AI模型通常具有非常大的参数量,要想将其迁移到具体的下游场景任务中,利用重头训练的全局微调变得十分昂贵,对于普通研究者明显不现实,为此Microsoft提出了一种低消耗的大模型微调方法—LoRA(Low-Rank Adaptation)。$LoRA$基于适配器的思想,通过调整学习外部模块来对下游特定任务进行知识泛化,并通过可学习的秩分解矩阵设计降低模型微调与存储的开销问题。原创 2024-04-27 16:37:08 · 918 阅读 · 1 评论 -
【论文笔记】基于预训练模型的持续学习(Continual Learning)(增量学习,Incremental Learning)
持续学习(Continual Learning, CL)旨在使模型在学习新知识的同时能够保留原来的知识信息了,然而现实任务中,模型并不能很好地保留原始信息,这也就是常说的灾害性遗忘(Catastrophic forgetting)问题。传统的CL方法需要从头开始训练模型(从随机初始化参数开始训练),目前基于大规模数据训练得到的预训练模型为持续学习带来了新的研究思路,预训练模型鲁棒的泛化性给予新任务学习较为成熟的参数,也因此基于预训练模型的CL方法已逐渐成为研究热点。原创 2024-04-21 22:42:52 · 1254 阅读 · 1 评论 -
【论文笔记】RS-Mamba for Large Remote Sensing Image Dense Prediction(附Code)
论文作者提出了RS-Mamba(RSM)用于高分辨率遥感图像遥感的密集预测任务。RSM设计用于模拟具有线性复杂性的遥感图像的全局特征,使其能够有效地处理大型VHR图像。它采用全向选择性扫描模块,从多个方向对图像进行全局建模,从多个方向捕捉大的空间特征。2D全向扫描机制是本研究的主要创新点。作者考虑到遥感影像地物多方向的特点,在VMamba2D双向扫描机制的基础上增加了斜向扫描机制。原创 2024-04-17 14:56:58 · 686 阅读 · 0 评论 -
三通道或单通道图像裁剪与拼接
三通道或单通道图像裁剪与拼接原创 2024-04-14 21:35:30 · 168 阅读 · 0 评论 -
YOLTV8 — 大尺度图像目标检测框架(欢迎star)
本项目以最新的YOLOV8为检测框架,增设多尺度,多信息的预处理模块,捕获大尺度图像的多尺度上下文信息,能够有效识别出大尺度图像的大小型识别物体以及密集型检测目标。另外,此次我们还对对原始NMS算法进行改进,以满足不同类型物体以及重叠框(尤其是位于边缘的检测框)的过滤,实现大尺度影像的精确检测。各参数信息和前文一样。:多尺度,多信息的预处理模块还未上传,但不影响正常使用,可先增大裁剪尺寸以及重叠率来避免超大物体(无法在单幅影像块中完整给出的物体)的识别不完整。原创 2024-04-14 21:10:55 · 1283 阅读 · 0 评论 -
变化检测原始数据划分按比例为训练集、验证机和测试集
【代码】变化检测原始数据划分按比例为训练集、验证机和测试集。原创 2024-04-14 20:59:42 · 124 阅读 · 0 评论 -
模型计算性能测试代码(计算模型FPS、FLOPs和参数量)
【代码】模型计算性能测试代码(计算模型FPS、FLOPs和参数量)原创 2024-03-13 22:42:20 · 465 阅读 · 0 评论 -
使用训练好的MMSegmentation模型推理大尺度遥感影像(包含遥感影像裁剪和拼接代码)
使用训练好的MMSegmentation模型推理大尺度遥感影像(包含遥感影像裁剪和拼接代码)。模型推理部分采用的是MMSegmentation框架的模型,可根据自己的模型(如pytorch或tensorflow模型)情况修改该部分。原创 2024-03-13 19:56:23 · 648 阅读 · 2 评论 -
一文看遍半监督学习模型(Semi-Supervised Learning)
一个模型对于同一个未标记图像,在图像添加额外噪声前后的预测值应该保持一致。添加噪声的方法,如图像增强(空间维度增强、像素维度增强)。同样,Dropout可在模型结构中引入噪声。原创 2023-09-02 14:53:08 · 4271 阅读 · 0 评论 -
MMSegmentation 模型训练结果批量推理及结果保存脚本
MMSegmentation模型训练结果进行批量推理测试及结果保存原创 2023-08-25 15:40:03 · 925 阅读 · 8 评论 -
MMSegmentation CAM可视化脚本
最近在用MMSegmentation,想做个cam可视化,发现项目没有,就根据pytorch_grad_cam例子自己写一下,同时支持VIT系列的模型。原创 2023-08-23 12:58:17 · 443 阅读 · 2 评论 -
生成式AI系列 —— DCGAN生成手写数字
【代码】生成式AI系列 —— DCGAN生成手写数字。原创 2023-08-20 02:15:59 · 478 阅读 · 0 评论 -
生成式AI系列——什么是生成对抗模型(GAN)?
生成对抗网络(GAN, Generative adversarial network)自从2014年被Ian Goodfellow提出以来,掀起来了一股研究热潮。GAN由生成器和判别器组成,生成器负责生成样本,判别器负责判断生成器生成的样本是否为真。生成器要尽可能迷惑判别器,而判别器要尽可能区分生成器生成的样本和真实样本。转载 2023-08-17 21:49:40 · 779 阅读 · 2 评论 -
使用AnimeGAN2和anime-segmentation生成自己的漫画头像
今天我们来介绍一下怎么利用GAN生成属于的自己的漫画风头像。所需要用的生成模型为AnimeGAN2。原创 2023-08-17 16:05:27 · 447 阅读 · 0 评论 -
【人工智能前沿弄潮】——生成式AI系列:Diffusers应用 (2) 训练扩散模型(无条件图像生成,用于遥感领域的尝试)
无条件生成型的一种流行应用,它生成的图像看起来像用于训练的数据集中的图像。与文本或图像到图像模型不同,。它只生成与其训练数据分布相似的图像。通常,通过在特定数据集上微调预训练模型可以获得最佳结果。本教程主要来自官方教程,结合一些自己的修改,以支持训练本地数据集。我们首先依据官方教程,利用史密森尼蝴蝶数据集的子集上从头开始训练,以生我们自己的的。最后因为我是搞遥感方向的(测绘小卡拉米),所以利用进行训练尝试,遥感影像使用的是煤矿区的无人机遥感影像,主要就是裸地和枯草,有的还有一些因为煤矿开采导致的地裂缝。原创 2023-08-13 19:59:23 · 1203 阅读 · 0 评论 -
【人工智能前沿弄潮】——生成式AI系列:Diffusers应用 (1) 了解Pipeline 、模型和scheduler
Diffusers旨在成为一个用户友好且灵活的工具箱,用于构建针对您的用例量身定制的扩散系统。工具箱的核心是模型和scheduler。虽然为了方便起见将这些组件捆绑在一起,但您也可以拆分管道并单独使用模型和scheduler来创建新的扩散系统。在本教程中,您将学习如何使用模型和scheduler来组装用于推理的扩散系统,从基本管道开始,然后发展到稳定扩散管道。原创 2023-08-11 01:06:47 · 1173 阅读 · 0 评论 -
【人工智能前沿弄潮】——生成式AI系列:扩散模型及稳定扩散模型
与GAN 利用生成器和判别器进行对抗训练来生成图像不同,扩散模型则是通过对生成的随机噪声进行循环去噪来生成图像,就有点像雕刻一样,一块原石,随着大师一点一点地去除掉多余的部分,剩下的就是完美的艺术品。所使用的随机噪声需要和生成的目标图像具有相同的高宽。在扩散模型的去噪过程中,去噪的步骤数(step)是人工提前定好的,如1000等。这个step不仅是步骤数,也代表着噪声的严重程度信息。并且每次去噪所的Denoise 模块是同一个,进行反复使用。原创 2023-08-11 00:53:13 · 1102 阅读 · 0 评论 -
【人工智能前沿弄潮】—— SAM系列:SAM自动生成物体mask
由于SAM可以高效处理提示,可以通过在图像上抽样大量的提示来生成整个图像的mask。这种方法被用来生成数据集SA-1B。类实现了这个功能。它通过在图像上的网格中对单点输入提示进行抽样,从每个提示中SAM可以预测多个mask。然后,使用非极大值抑制对mask进行质量过滤和去重。其他选项允许进一步提高mask的质量和数量,例如在图像的多个裁剪上运行预测,或者对mask进行后处理以去除小的不连通区域和孔洞。原创 2023-08-09 19:05:04 · 1692 阅读 · 2 评论 -
【人工智能前沿弄潮】—— SAM系列:SAM从提示生成物体mask
Segment Anything Model(SAM)根据指示所需的对象来预测对象掩码。该模型首先将图像转换为图像嵌入,从而可以从提示中高效地生成高质量的掩码。类为模型提供了一个简单的接口来提示模型。用户可以首先使用set_image方法设置图像,该方法会计算所需的图像嵌入。然后,可以通过predict方法提供提示,以从这些提示中高效地预测掩码。模型可以接受点和框提示以及先前迭代预测的掩码作为输入。原创 2023-08-09 19:01:07 · 1103 阅读 · 0 评论 -
【人工智能前沿弄潮】—— SAM系列:玩转SAM(Segment Anything)
SAM的出现是否示意着传统CV行业的落寞?随着Chatgpt、扩散模型等产品出现,等成为了如今超级火热的话题。分割一切,Facebook利用超大数据集训练出来的SAM模型给CV界带来了巨大冲击,使得prompt engineering提示工程在CV领域同样得到发展应用,这也给我们众多计算机视觉研究者带来启发,基于大数据实现各类型场景视觉任务的可prompt模型,甚至统一视觉范式的终极大模型离我们越来越近。原创 2023-08-09 18:49:54 · 423 阅读 · 0 评论 -
【深度学习注意力机制系列】—— CBAM注意力机制(附pytorch实现)
CBAM旨在克服传统卷积神经网络在处理不同尺度、形状和方向信息时的局限性。通道注意力和空间注意力。通道注意力有助于增强不同通道的特征表示,而空间注意力有助于提取空间中不同位置的关键信息。总之,CBAM模块通过自适应地学习通道和空间注意力权重,以提高卷积神经网络的特征表达能力。通过将通道注意力和空间注意力结合起来,CBAM模块能够在不同维度上捕获特征之间的相关性,从而提升图像识别任务的性能。原创 2023-08-09 14:44:53 · 25713 阅读 · 8 评论 -
【深度学习注意力机制系列】—— SCSE注意力机制(附pytorch实现)
SCSE注意力模块(来自论文[1803.02579] Concurrent Spatial and Channel Squeeze & Excitation in Fully Convolutional Networks (arxiv.org))。其对SE注意力模块进行了改进,提出了cSE、sSE、scSE三个模块变体,这些模块可以增强有意义的特征,抑制无用特征。今天我们就分别讲解一下这三个注意力模块。cSE模块引入了通道注意力机制,可有效的对通道维度的特征信息进行整合增强,这一点与SE等传统通道注意力机制原创 2023-08-09 13:56:48 · 3451 阅读 · 0 评论 -
【深度学习注意力机制系列】—— SKNet注意力机制(附pytorch实现)
SKNet是一种创新的深度神经网络架构,通过引入选择性的多尺度卷积核和注意力机制,提升了特征提取的能力。其核心结构包括选择模块和SK卷积层,能够有效地融合多尺度信息、自适应地调整卷积核的尺度,并减少计算成本。这使得SKNet在图像分类和目标检测等任务中取得了优越的性能。原创 2023-08-09 12:55:32 · 5452 阅读 · 6 评论 -
【深度学习注意力机制系列】—— ECANet注意力机制(附pytorch实现)
ECANet是一种高效的神经网络架构,通过引入通道注意力机制,能够有效地捕捉图像中的通道关系,提升特征表示的能力。它的结构包括通道注意力模块和嵌入式通道注意力模块,具有高效性、提升特征表示和减少过拟合等优势。通过这种设计,ECANet在图像处理任务中取得了优越的性能。原创 2023-08-08 17:41:24 · 10313 阅读 · 0 评论 -
【深度学习注意力机制系列】—— SENet注意力机制(附pytorch实现)
SENet(Squeeze-and-Excitation Networks)注意力机制在通道维度上引入注意力机制,其核心思想在于通过网络根据loss去学习特征权重,使得有效的feature map权重大,无效或效果小的feature map权重小的方式训练模型达到更好的结果。SE block嵌在原有的一些分类网络中不可避免地增加了一些参数和计算量,但是在效果面前还是可以接受的 。Sequeeze-and-Excitation(SE) block并不是一个完整的网络结构,而是一个子结构,可以嵌到其他分类或检测原创 2023-08-08 16:56:51 · 2094 阅读 · 0 评论 -
【深度学习可视化系列】—— CAM可视化(以语义分割网络为例,支持Vit系列主干网络的分割模型,支持GradCAM, GradCAMPlusPlus, LayerCAM等cam可视化方法)
【深度学习可视化系列]】—— CAM可视化(以语义分割网络为例,支持Vit系列主干网络的分割模型,支持GradCAM, GradCAMPlusPlus, LayerCAM等cam可视化方法)原创 2023-08-08 16:05:18 · 1434 阅读 · 6 评论 -
【模型加速部署】—— Pytorch自动混合精度训练
torch. amp为混合精度提供了方便的方法,其中一些操作使用torch.float32(浮点)数据类型,而其他操作使用精度较低的浮点数据类型(lower_precision_fp):torch.float16(half)或torch.bfloat16。一些操作,如线性层和卷积,在lower_precision_fp中要快得多。其他操作,如缩减,通常需要float32的动态范围。混合精度试图将每个操作与其适当的数据类型相匹配。原创 2023-08-08 15:33:01 · 1877 阅读 · 0 评论 -
【深度学习可视化系列】—— 特征图可视化(支持Vit系列模型的特征图可视化,包含使用Tensorboard对可视化结果进行保存)
深度学习可视化系列——搭建深度学习特征图提取及其可视化流程,并使用tensorboard对可视化结果进行保存。原创 2023-08-08 15:11:58 · 1062 阅读 · 0 评论 -
【目标检测——YOLO系列】YOLOv1 —《You Only Look Once: Unified, Real-Time Object Detection》
YOLOv1是一种**end to end**目标检测算法,由Joseph Redmon等人于2015年提出。它是一种基于单个神经网络的实时目标检测算法。YOLOv1的中文名称是"你只看一次",这个名字源于算法的工作原理。相比于传统的目标检测算法,YOLOv1采用了全新的思路。**它将目标检测问题转化为一个回归问题,并将整个图像作为输入,一次性地在图像上进行目标检测和定位(单阶段检测模型这与传统的滑动窗口或区域提议方法不同,传统方法如RCNN系列(两阶段检测模型)**需要在图像上进行多次检测。原创 2023-06-05 17:10:31 · 1636 阅读 · 2 评论 -
【深度学习】损失函数系列 (一) 平方损失函数、交叉熵损失函数 (含label_smoothing、ignore_index等内容)
在训练分类器时,通常将标签视为单热向量,即只有正确的类别概率为1,其余为0。在标签平滑技术中,将正确标签的概率从 1 降低到 1-ε,同时将错误标签的概率从 0 提高到 ε/(C-1),其中 C 是类别数量。参数用于指定正样本的权重,其作用是在处理类别不平衡问题时对于正样本给予更高的权重,以此来平衡类别的数量。默认情况下,所有的类别都被视为同等重要,即每个类别的权重都为1。是一个长度为类别数的向量,每个元素表示对应类别的权重,当一个类别的权重被设置为大于1的值时,该类别对损失函数的贡献将会变得更加重要。原创 2023-05-01 22:43:52 · 1175 阅读 · 2 评论 -
【目标检测】YOLOV8实战入门(七)模型基准测试
等各种导出格式中每张图像的毫秒推理时间的信息。这些信息可以帮助用户根据对速度和准确性的要求为其特定用例选择最佳导出格式。的各种导出格式的速度和准确性。基准提供了关于导出格式的大小、其。指标(用于目标检测和分割)或。指标(用于分类)以及。原创 2023-04-30 15:11:12 · 531 阅读 · 0 评论 -
【目标检测】YOLOV8实战入门(六)模型导出
YOLOv8模型的导出设置是指用于保存或导出模型以在其他环境或平台中使用的各种配置和选项。一些常见导出设置包括导出模型文件的格式(例如ONNX、TensorFlow SavedModel)、模型将在其上运行的设备(例如CPU、GPU)以及每个框存在掩码或多个标签等附加功能。其他可能影响导出过程的因素包括模型正在用于的特定任务以及目标环境或平台的要求或约束。仔细考虑和配置这些设置以确保导出的模型针对预期用例进行了优化并可以在目标环境中有效使用,这一点很重要。模型导出为可用于部署的格式。原创 2023-04-30 15:03:11 · 5090 阅读 · 0 评论 -
【目标检测】YOLOV8实战入门(五)模型预测
预测模式可以为各种任务生成预测,在使用流模式时返回结果对象列表或结果对象的内存高效生成器。文件加载,用户可以提供图像或视频来执行推理。模型预测输入图像或视频中对象的类别和位置。的流媒体模式应用于长视频或大型预测源,否则结果将在内存中累积并最终导致内存不足错误。函数在图像对象中绘制结果。它绘制在结果对象中找到的所有组件(框、掩码、分类日志等)— 具有用于操作边界框的属性和方法的boxes。— 用于索引掩码或获取段坐标的掩码对象。模式用于在新图像或视频上使用经过训练的。模型进行预测,在此模式下,模型从。原创 2023-04-30 14:47:20 · 17314 阅读 · 24 评论 -
【目标检测】YOLOV8实战入门(四)模型验证
YOLO模型的验证设置是指用于评估模型在验证数据集上的性能的各种超参数和配置。一些常见的验证设置包括批量大小、训练期间执行验证的频率以及用于评估模型性能的指标。其他可能影响验证过程的因素包括验证数据集的大小和组成以及模型正在用于的特定任务。仔细调整和试验这些设置非常重要,以确保模型在验证数据集上表现良好,并检测和防止过度拟合。在此模式下,模型在验证集上进行评估,以衡量其准确性和泛化性能。:YOLOv8模型会自动记住它们的训练设置,因此您可以在相同的图像大小和原始数据集上轻松验证模型,只需。原创 2023-04-30 14:15:12 · 3641 阅读 · 1 评论 -
【目标检测】YOLOV8实战入门(三)模型训练
YOLOv8模型的训练设置是指用于在数据集上训练模型的各种超参数和配置。这些设置会影响模型的性能、速度和准确性。一些YOLOv8的常见训练设置包括批量大小、学习率、动量和权重衰减。其他可能影响训练过程的因素包括优化器的选择、loss函数的选择以及训练集的大小和组成。在此模式下,使用指定的数据集和超参数训练模型。训练过程涉及优化模型的参数,以便它可以准确预测图像中对象的类别和位置。:YOLOv8数据集,如COCO、VOC、ImageNet和许多其他数据集在首次使用时自动下载,即。原创 2023-04-30 14:01:34 · 1656 阅读 · 0 评论 -
【目标检测】YOLOV8实战入门(二)使用方法概述
Ultralytics YOLO的命令行界面(CLI)允许简单的单行命令,而不需要Python环境。例如,用户可以加载模型、训练它、在验证集上评估其性能,甚至只需几行代码即可将其导出为ONNX格式。接口设计简单易用,使用户能够在他们的项目中快速实现目标检测、分割和分类。查看CLI指南,了解有关从命令行使用YOLOv8的更多信息。接口使用,对于命令行操作的介绍仅限于本节内容,更多命令行信息请大家参考。:本系列的后续内容,我们会重点介绍yolov8的。项目中,从而易于加载、运行和处理模型的输出。原创 2023-04-30 13:23:50 · 3634 阅读 · 0 评论 -
【目标检测】YOLOV8实战入门(一)简介与安装
YOLOv8是来自 Ultralytics 的最新的基于 YOLO 的对象检测模型系列,提供最先进的性能。相比与以前的YOLO版本,YOLOv8模型更快、更准 ,同时为训练模型提供统一框架,可执行物体检测实例分割图像分类姿势检测目标跟踪Note:Ultralytics最近推出了与相结合的功能,后文再聊。原创 2023-04-30 12:49:33 · 1987 阅读 · 0 评论 -
【模型部署】TorchScript 解读(一):初识 TorchScript
PyTorch 无疑是现在最成功的深度学习训练框架之一,是各种顶会顶刊论文实验的大热门。比起其他的框架,PyTorch 最大的卖点是它对动态网络的支持,比其他需要构建静态网络的框架拥有更低的学习成本。PyTorch 源码 Readme 中还专门为此做了一张动态图:对研究员而言, PyTorch 能极大地提高想 idea、做实验、发论文的效率,是训练框架中的豪杰,但是它不适合部署。转载 2023-04-19 14:31:00 · 661 阅读 · 0 评论 -
【Pytorch基础学习】(4)模型训练与验证
本节总结本系列的前面几节,以`LeNet`神经网络为例,实现一套模型训练与验证的完整流程,代码如下,每一步详情请见代码注释:原创 2023-04-12 22:52:24 · 323 阅读 · 2 评论 -
【Pytorch基础学习】(3)建立神经网络
神经网络由对数据执行操作的层/模块组成。`torch. nn`**命名空间提供了构建自己的神经网络所需的所有构建块。**`PyTorch`**中的每个模块都子类化了**`nn.Module`**。**神经网络是由其他模块(层)组成的模块本身。这种嵌套结构允许轻松构建和管理复杂的架构。原创 2023-04-12 22:08:48 · 70 阅读 · 0 评论