自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 采样算法二:去噪扩散隐式模型(DDIM)采样算法详解教程

DDIM将反向过程定义为非马尔可夫链,允许从任意时间步( t )直接推断( x_{t-Δ} )(Δ为跳跃步长)。DDPM虽然生成效果优异,但其采样需迭代数百至数千次,效率较低。是对DDPM的改进,旨在。,例如均匀间隔或余弦调度。

2025-02-27 17:13:01 995

原创 采样算法一:去噪扩散概率模型(DDPM)采样算法详解

是一种基于概率论的生成模型,通过模拟数据的扩散和逆扩散过程生成样本。是一种经典的扩散模型,其采样算法是反向去噪过程的核心。的噪声,通过移除该噪声可逐步恢复数据。通过重参数化技巧,可直接从。预测的是前向过程中添加到。,化简后得到均值公式。DDPM 固定方差为。

2025-02-27 17:11:36 866

原创 PyTorch Lightning 的简单使用示例

PyTorch Lightning 的核心是继承,在这里我们通过子类化创建了一个简单的模型类LitModel。使用 LightningDataModule 能够使数据预处理、划分和加载更加模块化,便于在多个训练阶段(训练、验证、测试)中复用同一数据处理流程。模块化设计:利用 LightningModule 将模型、训练逻辑、验证逻辑和优化器配置集中在一个类中;而 LightningDataModule 则统一管理数据的下载、预处理、划分和加载。简化训练流程。

2025-02-27 16:41:01 960

原创 Transformer Decoder 详解

Transformer Decoder 由。

2025-02-20 16:07:59 1054

原创 Transformer Encoder 详解

位置编码是 Transformer 模型的关键组件,用于向模型注入序列的位置信息(因自注意力机制本身是位置无关的)。其中 (\text{head}_i = \text{Attention}(Q W_i^Q, K W_i^K, V W_i^V))。通过位置编码,Transformer 能够明确感知序列中元素的顺序,这是其成功替代 RNN 的关键设计之一。维度保持为 (d_{\text{model}}),无需额外变换。Transformer Encoder 由。

2025-02-20 16:05:30 739

原创 C++小知识记录,不定时更新

C++小知识记录,不定时更新

2025-02-08 16:26:19 239

原创 windows + visual studio 2019 使用cmake 编译构建静、动态库并调用详解

windows下静态库和动态库构建和使用

2025-02-08 16:23:14 1423

原创 【小白看了都会】Anaconda3与Pycharm详细下载与安装,并在Pycharm中配置Anaconda3环境

Anaconda3的详细安装,与Pycharm如何配置Anaconda3创建的虚拟环境

2024-12-04 23:17:27 1472

原创 通俗易懂 VQ-GAN:结合向量量化与生成对抗网络的高效图像生成模型

目的是为了和各种生成算法统一。在来看VQ-GANVQ-GAN:既然VQ-VAE觉得随机采样的z不靠谱,那我一样,我的z采样也不在是直接采样,而是也构造一个网络来实现生成z的采样,然后你会发现比较好玩的是,把VQ-GAN前面的编码网络E去掉,他就是一个GAN,那如果是把D网络去掉,那就是VQ-VAE了。

2024-12-04 11:03:01 823

原创 yolov5详解(二):通过yaml文件构建完整模型

依然拿yolov5l v6.0版本来讲解。

2024-08-14 22:33:15 759

原创 yolov5详解(一):网络结构

以下是参考b站上作者以及yolov5官方代码画出的yolov5l v6.0版本的模型结构,v6.0版本的模型结构是目前yolov5版本的稳定版本,想必以后也不会有什么改变。l,m,n,s,x只是有些层以及输出通道数变化,整体架构是完全一样的,因此我们只拿一个l模型来说。其他的就不在一一介绍了。从上图可以看出,模型主要分为三个部分:backbone:主要用于图片的特征提取;neck:主要对特征图进行多尺度融合,传给detect层;detect:用来预测最终结果。

2024-08-14 22:32:20 2248

原创 VQ-VAE(Vector Quantized Variational Autoencoder)代码详解及实现

看这篇文章之前,希望能够熟知以下我写的一遍原理介绍,代码中的名称尽可能和原论文保持一致,如ze,z,zq这些名称等。理论不在重新介绍。同样仍然使用mnist数据集。

2024-07-30 15:47:37 1782

原创 深入探索VQ-VAE:原理、架构与应用实践全解析

我们知道作者做的一个假设是先验的离散分布p是均匀分布,但是实际上生成任务上并没有在均匀分布上采样,当然也可以,但是效果是很差的,所以引入了pixelcnn使得整个离散分布有了意义,这也是为什么说VQ-VAE是一个AE不是一个VAE的主要原因,后面在详细解释。但是为什么要有呢,你可别忘了,最终我们在生成图像的时候,只是用到decoder,要有一个采样过程,而这个采样就是在z上随机采样。,但是效果很差,原因是什么,原因就是VQ-VAE是一个AE啊,本身就不具备生成的能力,即使离散化的z也是有一定的意义的。

2024-07-30 15:19:07 1437

原创 YOLOv3深入解析与实战:实时目标检测的高效多尺度架构网络

网上有很多关于yolo的文章,有些东西没讲清楚,基于自己对论文的理解,也做一个按照自己的想法做的理解。

2024-06-02 23:13:50 1270

原创 YOLOv1深入解析与实战:目标检测算法原理

学习目标检测算法,yolov1是必看内容,不同于生成模型,没有特别多的理论,关键在于模型结构的构造。先直接从作者给的图,来解释yolo到底干了一件什么事情,为什么速度那么快。我们重点分析这几张图,搞明白图就明白了算法核心。输入:输入是一张完整的图片,不是说把一张图片分成S*S个网络输出S×S×B∗5CS×S×B∗5CS×SS\times SS×S相当于把原图分成S×SS\times SS×S个grid cell,这里是7x7;B∗5C。

2024-06-02 23:13:26 943

原创 像素级创意:深入浅出PixelCNN图像合成技术

参考需要熟悉熵的一些理论、和极大释然估计等价于最小化交叉熵等知识。

2024-05-20 22:31:12 1886

原创 深入解析与实现:变分自编码器(VAE)完整代码详解

VAE理论上一篇已经详细讲完了,虽然VAE已经是过去的东西了,但是它对后面强大的生成模型是很有指导意义的。接下来,我们简单实现一下其代码吧。

2024-05-20 22:29:07 2444 3

原创 VAE理论详解,从概率的角度出发,还原论文推导

如下图所示,生成模型的目标是在一个已只分布p(z)中随机采样z,经过网络G,生成的结果xGzxGz是满足训练数据p(x)的分布,我们假定生成的分布为pgp_gpg​,训练样本的分布为pdatap_{data}pdata​,一个非常麻烦的事是我们不知道,也无法去知道pdatap_{data}pdata​的分布,无法去做损失函数求解G。你可以这样理解,我们生成网络的目的是要得到pgpdatapg​pdata​。

2024-05-09 14:30:01 1009 1

原创 使用pytorch构建GAN网络并实现FID评估

上一篇文章介绍了GAN的详细理论,只要掌握了GAN,对于后面各种GAN的变形都变得很简单,基础打好了,盖大楼自然就容易了。既然有了理论,实践也是必不可少的,这篇文章将使用mnist数据集来实现简单的GAN网络,并附带使用FID来评估生成质量。

2024-05-07 11:39:10 1975 1

原创 GAN详解,公式推导解读,详细到每一步的理论推导

在看这一篇文章之前,希望熟悉掌握熵的知识,可看我写的跟熵相关的一篇博客。

2024-04-24 19:30:06 2757

原创 深度学习中的熵、交叉熵、相对熵(KL散度)、极大释然估计之间的联系与区别

熵的最初来源于热力学。在热力学中,熵代表了系统的无序程度或混乱程度,也可以理解为系统的热力学状态的一种度量。后来被广泛引用于各个领域中,如信息学、统计学、AI等,甚至社会学当中。接下来将大家领略一下深度学习中熵的应用。

2024-04-24 10:02:53 1684

原创 python 几种常见的音频数据读取、保存方式

soundfile库是一个Python库,主要用于读取和写入音频文件。它支持多种音频格式,包括WAV、AIFF、FLAC和OGG等。通过soundfile库,用户可以方便地将numpy数组存储到音频文件或者将音频文件加载到numpy数组中。此外,soundfile库还提供了一些函数,用于处理音频数据。它的使用简单且灵活,方便进行音频处理和分析的工作。

2024-02-22 18:18:46 7447

原创 wav2vec 2.0 语音特征提取器的使用方法

wav2vec 2.0 的作用和使用方法

2024-02-05 17:24:33 5955 15

原创 如何构建TCN网络提取序列特征

TCN网络主要在于提取序列的特征,并且可以实现特征维度的改变,并保持序列长度不变。

2024-02-05 16:50:16 1417

原创 opencv c++ (7):模糊与锐化

在图像处理中,模糊(也称为平滑)和锐化是两种常见的图像滤波技术,它们可以用来改变图像的外观和质量。在OpenCV中,模糊和锐化可以通过不同的滤波器来实现,如平均滤波、高斯滤波、拉普拉斯滤波等。根据具体的需求和应用场景,可以选择合适的滤波器来达到期望的效果。以下是一些具体方法。

2024-02-02 17:56:47 1144

原创 opencv c++ (6):直方图

在OpenCV C++中,直方图是一种用来表示图像亮度或颜色分布情况的工具。直方图可以帮助我们了解图像中不同亮度或颜色值的像素数量,从而可以进行图像增强、图像分割、特征提取等操作。在OpenCV C++中,我们可以使用cv::calcHist()函数来计算图像的直方图,使用cv::normalize()函数对直方图进行归一化处理。直方图可以用来进行直方图均衡化、直方图匹配、直方图反向投影等操作,以改善图像质量或实现特定的图像处理需求。

2024-02-02 15:22:20 1158

原创 opencv c++ (5):通道分离与合并

很简单,就split和merge api,例子在下面。

2023-11-07 15:27:32 666

原创 opencv c++ (4):图型绘制

以下是几个绘制图形的api,细节不多说。值得注意的是指定线宽时候-1代表填充。

2023-11-07 11:41:49 222

原创 opencv c++ (3):像素操作4

在OpenCV中,可以使用函数来计算图像中的最大值和最小值,使用cv::mean函数来计算图像的平均值,使用函数来计算图像的平均值和标准差。下面是相关代码使用。这里分别举例了data指针和ptr指针的用法。

2023-11-03 18:10:19 175

原创 opencv c++ (3):像素操作3

在 OpenCV 中,比特位操作主要用于图像处理和计算机视觉任务中。总的来说,比特位操作在 OpenCV 中有着广泛的应用,能够帮助实现图像处理、特征提取、压缩等功能,提高图像处理的效率和性能。位操作就是bit位的与或非等,很简单,直接给代码没什么可说的,直接看代码注释就明白了,主要是mask的理解,mask意思是,maks不为0的区域才进行操作,为0的区域就是黑色的。

2023-11-02 18:11:09 102

原创 opencv c++ (3):像素操作2

四则运算

2023-11-02 11:07:53 182

原创 opencv c++ (3):像素操作1

像素的遍历在图像处理中起着至关重要的作用,它可以用于实现各种图像处理算法和技术。以下是像素的遍历在图像处理中的一些常见应用:图像增强:通过遍历图像的每个像素,可以对像素进行各种操作,如调整亮度、对比度、色彩平衡等,从而实现图像的增强。滤波:通过遍历图像的每个像素及其周围像素,可以实现各种滤波操作,如均值滤波、高斯滤波、中值滤波等,用于去除噪声或模糊图像。特征提取:通过遍历图像的每个像素及其周围像素,可以实现特征提取算法,如边缘检测、角点检测、纹理分析等,用于识别和描述图像中的特征。

2023-11-01 16:12:14 204

原创 常用激活函数和loss函数详解

交叉熵损失对于错误分类的惩罚更严厉,能够更好地推动模型向正确的方向优化。Hinge Loss对于正确分类的样本不会产生损失,只有错误分类的样本才会产生损失,能够使得模型更加关注错误分类的样本。平滑损失(Smooth Loss)的优点: - 平滑损失可以在模型训练中平衡L1 Loss和L2 Loss的优点,既能够对异常值比较鲁棒,又能够在优化过程中收敛稳定。L1 Loss(绝对值损失)的优点: - 对异常值比较鲁棒,因为L1 Loss在异常值处的梯度不会特别大,相对于L2 Loss更不容易受到异常值的影响。

2023-11-01 09:47:00 126 1

原创 python不常见但是比较高级的关键字

python 常用关键字

2023-10-31 11:29:08 88 1

原创 pytorch gpu推理、onnxruntime gpu推理、tensorrt gpu推理比较,及安装教程,有详细代码解释

onnx , tensorrt 安装推理比较,有代码

2023-10-30 18:04:15 6128 1

原创 diffusion model 常用参考链接

这种算法主要应用生成数据生成上,类型于VAE、GAN,比他们效果好。主要原理是通过对数据加噪和去噪实现数据生成,由于加噪过程是可以计算的,去噪过程很难计算,因此diffusion model就是设计一个去噪模型来训练噪声,模型的选择设计可任意。由于去噪是需要多步完成,这也导致diffusion model耗时比较长,很难达到实时效果。不需要看太多,这两篇足以,Top1里面讲解非常详细,包括理论推导,到代码实现非常详细;这篇综述很全,介绍了diffusion model 的原理和应用。

2023-09-27 11:22:41 153 1

原创 python通俗易懂的GIL、多进程、多线程

在Python中,有两种并发处理方式:多线程和多进程。这两种方式都可以用于实现并行处理,提高程序的性能。

2023-09-26 11:51:10 200 1

原创 torch.FloatTensor,torch.Tensor,torch.tensor,torch.as_tensor,torch.from_numpy的区别与连系总结

torch.FloatTensor:    类, 深copy。可更改类型,devicetorch.Tensor:       同torch.FloatTensortorch.tensor:        函数,深copy。可更改类型,devicetorch.as_tensor:     函数,浅copy。不可更改类型,devicetorch.from_numpy:   函数,浅copy。不可更改类型,device共同点:最终都创建一个torch.Tensor对象。

2023-09-25 18:11:04 336 1

原创 一文让你熟练使用python装饰器

python 装饰器 、@ 魔法糖

2023-08-08 17:26:35 84

原创 git 的常用操作详解

git clone url 获取远程代码git branch 查看当期分支git branch -a 查看所有分支git branch newBranch 创建分支git pull 拉取与本地分支名相同的远程分支到本地git pull origin 远程分支名 拉取指定的远程分支到本地git checkout 你的分支名称 切换本地分支git merge branchName 合并分支到当前分支git status 工作区的状态,让我们时刻掌握仓库当前的状态。

2023-07-07 18:13:12 336 1

ImageNet 1000分类

ImageNet 1000分类

2023-10-27

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除