自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OpenCV 官方文档

OpenCV: OpenCV-Python Tutorials

2021-12-05 21:19:15 1022

原创 torch 官方文档

https://pytorch.org/docs/stable/torch.html

2021-04-26 13:56:39 2574

原创 【笔记】在 Ubuntu 系统上,部分生僻字(例如 “”)无法正确显示:安装支持 Unicode 扩展字符的字体

【代码】【笔记】在 Ubuntu 系统上,部分生僻字(例如 “”)无法正确显示:安装支持 Unicode 扩展字符的字体。

2024-11-10 10:49:21 320

原创 【笔记】defaultdict(float) 与普通的字典 dict 的区别:如果试图访问一个不存在的键,普通字典会抛出 KeyError,而 defaultdict 会创建这个键并给它一个默认值

defaultdict(float) 会自动为每个新键提供默认值 0.0(因为 float() 默认返回 0.0)。这在需要频繁累加或计数时非常方便,因为不需要每次先检查键是否存在。会为每个新键自动提供一个默认值,而普通字典没有这个功能。

2024-11-08 11:01:22 146

原创 【笔记】包含--index-url 和 --extra-index-url语句的命令:已经包含 CUDA 支持的 PyTorch 版本( CUDA 和 cuDNN 是捆绑在PyTorch包内的)

因为 PyTorch 在使用 GPU 加速时会依赖它们。

2024-11-07 22:32:52 297

原创 【笔记】联合概率分布 和 条件概率的关系:联合概率关注的是多个事件同时发生的概率。条件概率关注的是在已知一个事件发生的情况下,另一个事件发生的概率

2024-10-28 21:18:51 240

原创 【笔记】Diffusion Model 重建过程(逆过程):从高斯分布中去恢复原始的数据;给你一堆训练集,希望模型能够学到如何从噪声去预测训练集这个分布,进而去生成新的样本

..

2024-10-27 22:33:13 165

原创 【笔记】将积分改写成在某个分布下的期望,有一些经典的技巧和方法:它是统计和机器学习中常见的技巧,特别是在贝叶斯推断和生成模型中。不同情境下的积分改写成期望的形式,主要是为了简化计算和便于估计

2024-10-27 11:10:42 159

原创 【笔记】Diffusion Model 扩散过程(熵增过程:从有序变为无序):在原始分布上逐步的加高斯噪声,加到最后这个分布就变成一个各项独立的高斯分布

其实就是马尔科夫里面的A,

2024-10-26 18:22:03 333

原创 【笔记】扩散模型伪代码解释:训练阶段:模型 通过学习预测每个时间步下的数据噪声,逐渐优化参数 ;采样阶段:从一个随机的噪声状态 开始,逐步通过逆向去噪恢复

2024-10-24 11:42:59 168

原创 【笔记】扩散模型中需要的一些知识贝叶斯公式 && KL散度:前者在扩散模型中帮助我们推导逆扩散过程中的条件概率,进而通过这些概率构建模型的采样过程;后者衡量模型生成的噪声分布与真实噪声分布之间的差异

2024-10-23 22:05:46 155

原创 【笔记】期望的对数 和 对数的期望 && 凸函数与凹函数 && 线性插值方式的两种书写形式:期望的对数和对数的期望用在扩散模型的变分推断和最大似然估计

期望的对数和对数的期望:两者是完全一致的。

2024-10-22 16:42:05 287

原创 【笔记】最大似然估计(似然函数)和正态分布的概率密度函数的区别:前者用来描述参数 和 给定观测数据 出现的可能性,它通过最大似然估计法来找到最优参数;后者描述数据x在给定参数后出现的概率

2024-10-18 16:11:10 221

原创 【笔记】最大似然估计(MLE:Maximum Likelihood Estimation):用于估计模型参数的方法,目的是找到(模型的)一组参数,使得在这些参数下,(模型产生)观测数据的出现概率最大化

就是想让这个(生成)模型为自己所用,通过人为的控制模型的一些参数,让我们能够预测模型最有可能产生观察数据的参数值。

2024-10-18 16:04:26 313

原创 【笔记】独立的高斯(正态)分布随机变量之间计算均值和方差方法:两个独立的随机变量相加减,均值相加减但方差均相加;它们如果分别乘以系数 a 和 b,即 Z=aX+bY,方差计算时系数需要分别取平方

的情况下,其结果不再是正态分布,它会形成一个更复杂的分布。具体的均值和方差不能简单地通过像加法那样直接计算。这是因为正态分布随机变量相乘的行为与线性组合(加法、减法)不同。两个独立正态分布随机变量。

2024-10-17 11:42:33 1061

转载 【数学】数学符号大全以及读法

【代码】【数学】数学符号大全以及读法。

2024-10-09 17:48:05 840

原创 【待补充完整:论文】扩散模型:Denoising Diffusion Probabilistic Models

GAN -> VAE -> Flow-based Models -> Diffusion Models

2024-10-06 10:36:40 272

原创 【代码】Swan-Transformer 代码详解(待完成)

1. 局部注意力。

2024-08-20 23:31:24 376 1

原创 【笔记】关于Transformer 的几个问题的思考:1.训练阶段如何并行,测试阶段如何串行 2.做翻译时,源语言和目标语言的输入输出位置分别在哪 3.解码器的自注意力有什么用 4. 交叉注意力的输入

测试时,源语言(句子)作为编码器的输入,目标语言(单词,除了<Bos>起始符以外,其它的单词都从解码器的输出获取的)作为解码器的输入,解码器的输出(单词)作为解码器的输入。举个例子,当解码器在生成句子中的一个词时,它可以通过自注意力机制参考已经生成的部分,以确保生成的内容在语法和语义上是连贯的。编码器(Encoder):输入的是源语言。解码器(Decoder):在训练阶段,解码器的输入是目标语言的句子,但输入是有一些特殊处理的。解码器在训练时的输入:解码器在预测每个词时,输入的是目标句子的前面部分。

2024-08-15 13:35:38 751 2

原创 【笔记】Swin-Transformer 的计算量与Transformer的计算量的对比:前者通过使用新颖的窗口技巧,将后者的高阶项变为低阶,大大降低了计算量

【代码】【笔记】Swin-Transformer 的计算量与Transformer的计算量的对比:前者通过使用新颖的窗口技巧,将后者的高阶项变为低阶,大大降低了计算量。

2024-08-14 11:02:05 432

原创 【笔记】Swin-Transformer: 相对于Transformer增加了滑动窗口操作

【代码】【笔记】Swin-Transformer: 相对于Transformer增加了滑动窗口操作。

2024-08-13 21:57:04 170

转载 【笔记】Mamba 与 Transformer:前者具有更快地训练速度和更快地推理速度

2024-08-03 23:14:20 92

原创 【笔记】Transformer中的LayerNorm是对某一样本的某一个patch下的所有维度进行正则化:而传统的LayerNorm是对一个batch中的某一个样本的所有channels进行正则化

【代码】【笔记】Transformer中的LayerNorm是对同一样本的单个patch下的所有维度进行正则化:而传统的LayerNorm是对一个batch中的同一个样本的所有channels进行正则化。

2024-08-02 12:10:07 224

原创 【笔记】KL散度教师模型(软标签)与学生模型:Knowledge Distillation中,教师模型和学生模型通常具有相同或相似的架构,但教师模型已经被训练好,而学生模型则从头开始训练,或是进行微调

需要注意的是,在计算KL散度时,学生模型的输出需要先通过 log_softmax 函数,教师模型的输出需要通过 softmax 函数。学生模型通过最小化其输出与教师模型输出之间的KL散度,来学习教师模型的知识。知识蒸馏的主要目的是将教师模型中学到的知识传递给一个较小的学生模型,使学生模型在计算资源有限的情况下也能有较好的性能。训练学生模型:使用教师模型生成的软标签以及原始标签,同时指导学生模型的训练。使用教师模型生成软标签:用训练好的教师模型对数据进行预测,生成包含各类别概率分布的软标签。

2024-08-02 11:46:11 1376

原创 【笔记】Transformer 中用于分类的cls_token:cls_token 是一个额外的可训练的 768 维嵌入向量,它被添加到输入序列的开头,这个向量用于捕捉整个图像的全局信息

位置嵌入 self.pos_embed 被添加到输入序列中,x = self.pos_drop(x + self.pos_embed)。nn.Parameter(torch.zeros(1, 1, embed_dim)) 将其初始化为全零张量,并转换为模型的可训练参数。在前向传播过程中,cls_token 被扩展到与批量大小一致的形状,即 [B, 1, embed_dim]。在模型初始化过程中,cls_token 被定义为形状为 (1, 1, embed_dim) 的可训练参数。

2024-07-31 22:47:44 890

原创 【笔记】Transformer 中的两种位置编码的方式:正弦和余弦位置嵌入,不引入新的参数,不需要训练;直接用可训练的参数(nn.Parameter)初始化,引入了新的参数,需要训练

不需要训练,固定不变,模型参数更少,且在处理位置相关信息时表现良好。缺点是无法针对特定任务进行调整。:模型可以通过训练调整位置嵌入,使其更适应具体任务和数据。缺点是增加了模型参数,可能导致过拟合。

2024-07-31 22:40:47 298

原创 【笔记】Transformer 的 经典设计—— DropPath:nn.Dropout()是通过丢弃部分神经元的输出来防止过拟合;DropPath是通过丢弃部分的残差连接来防止过拟合

drop_path: 在训练模式下,drop_path 会以 drop_prob 的概率随机丢弃部分路径。在这个例子中,drop_path 只影响特定的路径,而不会丢弃整个样本。在这个例子中,drop_path 在每次前向传播中随机丢弃一些路径,而不是丢弃整个样本。这种方法有助于提高模型的鲁棒性和泛化能力。ResidualBlock: 这是一个简单的残差块,包含两个卷积层。在第二个卷积层之后,应用 drop_path。

2024-07-31 21:35:28 373

原创 【笔记】Python 中 A=X or Y 的用法: X为真,即 A=X;X 为假,即 A=Y

如果 out_features 是一个假值(例如 None、空字符串、0、空列表等),那么 out_features 会被赋值为 in_features 的值。如果 out_features 是一个真值(例如非空字符串、非零数字、非空列表等),那么 out_features 保持其原有值。如果 hidden_features 是一个假值,那么 hidden_features 会被赋值为 in_features 的值。

2024-07-31 20:38:31 250

原创 【笔记】ubuntu中,从codeblocks 官网下载后缀为.tar.xz的文件安装时出现问题,既不能卸载又不能使用其它方式重装,但系统显示codeblocks已安装:依赖的问题

第一列(左侧)列出了软件包的名称。因此,要仅列出软件包的名称,我们可以使用。要将该命令的输出插入到另一个命令中,我们可以使用。表示软件包未完全安装。

2024-07-28 21:48:36 312

原创 【笔记】nn.Dropout ( ):Dropout操作需要用在激活函数之后,保持网络的非线性特性;Dropout 需要使用放缩的方式来保证网络剩余权重的期望与之前整体权重的期望一致

激活函数(如ReLU)会引入非线性,使得模型可以学习和表示复杂的函数关系。如果在激活函数之前应用Dropout,由于某些神经元被随机丢弃,可能会导致一些线性变换无法传递激活信号,影响模型的学习效果。先进行激活,再进行Dropout,可以保证激活函数的输出在进行Dropout操作时是已经被非线性处理过的,确保模型在训练时的稳定性和有效性。

2024-07-26 22:21:09 477

原创 【笔记】nn.Dropout ( ): 对神经元进行操作,而不是对权重矩阵进行操作;比如以输入层为例,输入数据就是神经元,也就是说有多少个输入数据,就有多少个神经元

在应用 Dropout 时,例如,设置丢弃概率为 0.5,可能会随机将隐藏层的 3 个神经元中的某些神经元输出设置为零。在评估模式下(model.eval()),Dropout 层不会丢弃任何神经元的输出,但会将所有神经元的输出乘以 0.5(因为丢弃概率为 0.5)。如果前一层有 mmm 个神经元,后一层有 nnn 个神经元,那么连接这两层的权重矩阵的大小是 m×nm \times nm×n。在训练过程中,丢弃的神经元输出为零,其他神经元的输出会按比例放大,以保持总输入的期望值不变。输出层:2 个神经元。

2024-07-26 18:25:45 405

原创 【笔记】BatchNorm 、LayerNorm 、InstanceNorm的区别:对 mini-batch 内的每个通道进行归一化;对每个样本的所有通道进行归一化;对每个样本的每个通道独立进行归一化

我现在建立一个张量 input_tensor: (2,3,4,4)# 使用这些均值和标准差对整个 mini-batch 进行归一化。# 使用这些均值和标准差对该样本的所有通道进行归一化。# 使用这些均值和标准差对每个通道独立进行归一化。# 对每个样本的每个通道独立计算均值和标准差。# 对每个样本的所有通道计算均值和标准差。# 计算每个通道的均值和标准差。

2024-07-24 22:51:12 229

原创 【笔记】ubuntu 误退了搜狗输入法:终端上输入fcitx即可重启

有时候,我们可能嫌弃ubuntu上的搜狗输入法,点击了退出:但是当我们想开启搜狗输入法时,发现它消失了,此时我们可以打开终端,键入:fcitx即可成功开启。

2024-07-24 11:00:27 525

原创 【笔记】FLOPs 和 FLOPS: 前者(FLOPs) 越大,说明模型的计算复杂度越高;后者(FLOPS)越大,说明硬件的计算速度越快

这是指一个模型在一次前向传播中需要进行的浮点运算次数,是一个衡量模型计算复杂度的指标。FLOPs越大,说明模型的计算复杂度越高。:这是指每秒能够执行的浮点运算次数,是一个衡量硬件性能的指标。FLOPS越大,说明硬件的计算速度越快。

2024-07-16 17:01:13 665

原创 【代码】swin-transformer: Swin Transformer VS Vision Transformer

在Swin Transformer中使用了Windows Multi-Head Self-Attention(W-MSA)的概念,比如在下图的4倍下采样和8倍下采样中,将特征图划分成了多个不相交的区域(Window),并且Multi-Head Self-Attention只在每个窗口(Window)内进行。相对于Vision Transformer中直接对整个(Global)特征图进行Multi-Head Self-Attention,这样做的目的是能够减少计算量的,尤其是在浅层特征图很大的时候。

2024-07-13 22:51:13 258

原创 【笔记】Hugging Face上面的模型想直接使用的办法: .safetensors格式 可以直接转化为.gguf格式供本地(ollama)加载使用

Link:https://huggingface.co/spaces/ggml-org/gguf-my-repo原文:

2024-05-30 17:41:34 3439

原创 【笔记】Chinese-LLaMA-Alpaca-3 : 中文羊驼大模型三期项目 实践记录:量化后可以使用cpu进行快速推理,如直接加载 .safetensors,占内存多且推理速度过慢,无法有效使用

Link: GitHub - ymcui/Chinese-LLaMA-Alpaca-3: 中文羊驼大模型三期项目 (Chinese Llama-3 LLMs) developed from Meta Llama 3最重要的两张图:Figure1:模型类型说明:Figure2:本项目中的相关模型主要支持以下量化、推理和部署方式,具体内容请参考对应教程。我使用的是 text-generation-webui 进行推理,如图所示:点开链接进入到网页text-generation-webui,后台cmd同时也

2024-05-29 18:27:38 457

原创 【笔记】Windows 中 一键部署本地私人专属知识库:MaxKB + Docker + MaxKB docker + Ollama

Docker 和容器不一样,只是容器的一种实现,是一个容器化的解决方案和平台。而容器是一种虚拟化技术,和虚拟机类似,也是一个独立的环境。可以在这个环境中运行应用程序,和虚拟机不同的是,它并不需要在容器中运行一个完整的操作系统,而是使用宿主机的操作系统,所以启动速度非常快。镜像也像一道食谱,容器就是根据这个食谱做出来的菜(可以一个或多个),但这些菜都是根据同一道食谱做出来的。实际上,我们在终端使用的各种命令,都是发送给Docker Daemon的,经过Docker Daemon处理后,返回给客户端。

2024-05-29 18:26:22 2857

原创 【笔记】windows 中 Colab线上微调大模型:线上微调需要用到的工具:Hugging Face / Colab / Google Drive,在本地使用线上微调后的模型:GPT4ALL

【代码】【笔记】windows 中 Colab线上微调大模型:线上微调需要用到的工具:Hugging Face / Colab / Google Drive,在本地使用线上微调后的模型:GPT4ALL。

2024-05-29 18:06:54 755 4

原创 【笔记】Ubuntu中Llama3中文微调,并加载微调后的模型:中文微调数据集介绍、如何使用Ollama 和 LM studio本地加载Fine Tuning后的模型,ollama的安装使用和卸载

【代码】【笔记】Llama3中文微调,并加载微调后的模型:中文Fine Tuning数据集介绍、如何使用Ollama 和 LM studio本地加载Fine Tuning后的模型。

2024-05-28 22:48:41 2689

空空如也

空空如也

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

TA关注的人

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