- 博客(376)
- 资源 (1)
- 收藏
- 关注
原创 Pytorch复习笔记--pytorch常见交叉熵函数的实现
计算公式如下:Loss(x,class)=−log(ex[class]∑iex[i])=−x[class]+log(∑iex[i])Loss(x, class) = -log(\frac{e^{x[class]}}{\sum_{i}e^{x[i]}}) = -x[class] + log(\sum_{i}e^{x[i]})Loss(x,class)=−log(∑iex[i]ex[class])=−x[class]+log(i∑ex[i])代码实现如下:2. nn.BCELoss()计算公式如下
2024-09-20 15:37:29 602
原创 AIGC笔记--Stable Diffusion源码剖析之DDIM
以论文《High-Resolution Image Synthesis with Latent Diffusion Models》 开源的。以文生图为例,剖析SD中DDIM的核心组成模块。本质上SD的DDIM遵循论文。为例,剖析Stable Diffusion经典组成部分,巩固学习加深印象。
2024-07-04 15:27:23 470
原创 AIGC笔记--Stable Diffusion源码剖析之UNetModel
在 Forward() 中,使用 self.input_blocks 将输入噪声进行分辨率下采样,经过下采样具体维度变化为:[B*2, 4, 64, 64] > [B*2, 1280, 8, 8];x 表示随机初始化的噪声Tensor(shape: [B*2, 4, 64, 64],*2表示使用Classifier-Free Diffusion Guidance)。与Module1和Module2的结构相同,都由一个ResBlock和一个SpatialTransformer组成,只有特征维度上的区别;
2024-06-07 16:36:10 1025
原创 AIGC笔记--Stable Diffusion源码剖析之FrozenCLIPEmbedder
以论文《High-Resolution Image Synthesis with Latent Diffusion Models》 开源的。为例,剖析Stable Diffusion经典组成部分,巩固学习加深印象。在具体使用中,会利用上述代码生成。来预测无条件噪声和有条件噪声。
2024-06-06 20:19:06 328
原创 AIGC笔记--MoE模型的简单实现
每个专家网络模型往往是独立的,且分别用于不同的问题;第二部分是门控网络,用于确定使用哪些专家网络模型,一般通过计算每个专家网络的分数(权重)来实现。MoE模型的核心组成有两部分:第一部分是多个。),其主要将多个专家神经网络模型组合成一个更大的模型。
2024-06-02 23:22:36 289
原创 AIGC笔记--基于PEFT库使用LoRA
核心公式是:new_weights = origin_weights + alpha* (BA)固定原始层,通过添加和训练两个低秩矩阵,达到微调模型的效果;4--权重保存和合并。
2024-05-28 16:21:39 810
原创 AIGC笔记--基于Classifier-Free Diffusion Guidance的Conditional Diffusion
【代码】AIGC笔记--基于Classifier-Free Diffusion Guidance的Conditional Diffusion。
2024-05-17 22:33:19 272
原创 手撕算法笔记--手撕交叉熵损失函数和对比学习InfoNCE loss
其中,y_pred表示模型预测的概率值,y_true表示真实的类别标签。其中,N表示batchsize的大小,M表示类别的个数。1-1--二元交叉熵。1-2--多元交叉熵。
2024-03-27 21:12:01 431
原创 AIGC笔记--Maya提取和修改FBX动作文件
通过第2步的脚本可以提取人体运动的关键6D坐标数据,这些6D坐标数据可以进行一些动作生成任务,生成相同意义的坐标数据。对于一个固定的人体模型,修改每一帧中各个关节点的上述六个坐标,即可改变人体表现的动作;对于上图来说,平移X、平移Y和平移Z表示关节点的。的坐标,而旋转X、旋转Y、旋转Z表示关节点的。在一个原始FBX文件中对应于Maya可视化的。3--6D数据映射和Maya可视化。2--FBX SDK导出6D数据。1--Maya数据解析。1--Maya数据解析。
2024-03-11 10:30:55 556 2
原创 AIGC笔记--条件自回归Transformer的搭建
1. 自回归 TransFormer 规定Token只能看到自身及前面的Token,因此需生成一个符合规定的Attention Mask;(代码提供了两种方式自回归Attention Mask的定义方式);2. 使用Cross Attention实现条件模态和输入模态之间的模态融合,输入模态作为Query,条件模态作为Key和Value;
2024-03-06 20:38:00 299
原创 Conda笔记--移动Conda环境后pip使用异常的解决
由于各种原因,需要将Anaconda转变为Minicoda,为了保留之前安装的所有环境,直接将anaconda3/envs的所有环境拷贝到Miniconda/envs中,但在使用移动后环境时会出现pip的错误:bad interpreter: No such file or directory。报错原因:移动环境后,对应pip的路径没有进行相应修改。解决方法:修改对应环境bin/pip的路径。
2024-03-04 14:58:48 725
原创 AIGC笔记--GAN模型的搭建
很多时候会出现以下问题:1. 生成器的损失会上升而辨别器的损失会下降,或者是生成器的损失会下降而辨别器的损失会上升;训练生成器时,使用噪声作为生成器的输入生成噪声图片,将噪声图片输入到辨别器进行判断,并设置此时的训练标签为1,通过欺骗辨别器来训练生成器,企图让生成器的输出更接近真实的图片。训练辨别器时,使用分别使用噪声图片和真实图片作为辨别器的输入,噪声图片对应的训练标签为0,真实图片的训练标签为1,使辨别器作二分类任务来学会判断噪声和真实图片;经典GAN模型先训练辨别器,再训练生成器;
2024-03-04 11:32:54 273 2
原创 AIGC笔记--特征线性调制(FiLM)层的实现
特征线性调制(Feature-wise Linear Modulation,FiLM)层是一种神经网络模块,它可以用来实现特征的条件调整。,使得模型可以根据特定的条件(例如来自其他模态的信息)来调整特征的表示。,然后对输入特征进行缩放和偏移,即y = γ * x + β。这里,γ和β是与输入特征x同样大小的向量,它们决定了对输入特征的。FiLM层的工作原理如下:给定一个输入特征x,FiLM层首先通过一个全连接层或其他形式的网络结构生成两个参数。总的来说,FiLM层是一种强大的特征调整工具,它可以帮助模型。
2024-01-18 21:45:57 1956
原创 AIGC笔记--VQVAE模型搭建
inputs表示Encoder的输出,quantized是Codebook中与 inputs 最接近的向量;Decoder的梯度复制到Encoder中:inputs是Encoder的输出,quantized是Decoder的输入;Encoder 将输入编码成特征向量,计算特征向量与 Codebook 中 Embedding 向量的。,取最相似的 Embedding 向量作为特征向量的替代,并输入到 Decoder 中进行重构输入;VQVAE的损失函数包括源图片和重构图片的。1--VQVAE模型。
2024-01-16 01:05:29 1746
原创 AIGC笔记--CVAE模型的搭建
下面的 CVAE 中,用了最简单的融合方式(concat)将条件 Y 与输入 X 融合形成X_given_Y,同理条件 Y 与 X_given_Y 融合形成 z_given_Y;与VAE类似,只不过模型的输入需要考虑图片和条件(condition)的融合,融合结果通过一个 encoder 映射到。由于模型的输入是图片和条件的融合,因此模型学习了基于条件的图片生成;一个样本,样本也需要和条件进行融合,最后通过 decoder 重构图片;(均值和方差),从映射的标准分布中。
2024-01-16 00:40:36 781
原创 AIGC笔记--VAE模型的搭建
Encoder 返回映射标准分布的均值和方差,从标准分布中随机采样,利用Decoder重构图片;通过一个 encoder 将图片映射到。一个样本,通过 decoder 重构图片;(均值和方差),从映射的标准分布中随。
2024-01-16 00:21:52 654
原创 linux笔记--VSCode利用交换机跳转服务器
博主学校的服务器有两个,其中一个服务器(14)可以通过挂内网VPN来进行连接,但另一个服务器(15)即使挂了VPN也不能连接,只能通过内网进行连接。当不在学校时,就无法顺利连接服务器(15),可以通过将服务器(14)设置为跳转机,通过服务器(14)来间接连接服务器(15);只需在 VSCode 按正常操作来连接服务器 TargetMachine,就可以顺利跳转;通过 172.25.73.14 服务器来间接连接服务器 172.25.73.15;为了避免连续输入两次密码,可以参考。2--VSCode设置。
2023-12-17 10:44:37 834
原创 HuggingFace学习笔记--Prompt-Tuning、P-Tuning和Prefix-Tuning高效微调
Soft prompt 通常指的是一种较为宽泛或模糊的提示,允许模型在生成结果时有更大的自由度,通常用于启发模型进行创造性的生成;P-Tuning 是在 Prompt-Tuning的基础上,通过新增 LSTM 或 MLP 编码模块来加速模型的收敛;Prompt-Tuning 高效微调只会训练新增的Prompt的表示层,模型的其余参数全部固定;1-1--Prompt-Tuning介绍。3-1--Prefix-Tuning介绍。2-1--P-Tuning介绍。
2023-12-03 01:36:00 5058 4
原创 HuggingFace学习笔记--BitFit高效微调
BitFit,全称是 bias-term fine-tuning,其高效微调只去微调带有 bias 的参数,其余参数全部固定;1--BitFit高效微调。1--BitFit高效微调。
2023-12-02 22:40:12 940
原创 HuggingFace学习笔记--Trainer的使用
利用 Trainer 可以快速进行模型训练的配置,一般需要设置训练的模型以及训练相关参数等;1--Trainer的使用。1--Trainer的使用。1-1--简单Demo代码。
2023-12-01 18:44:14 2305
原创 HuggingFace学习笔记--利用API实现简单的NLP任务
分类用的是一个简单的线性层,其维度为(768, token.vocab_size),其中token.vocab_sized的大小为21128,即预测21128个词的分类分数,再与真实标签进行损失计算;利用预训练 bert 模型最后一个隐层的[cls] token的特征进行中文分类;利用 bert 模型提取特征,对最后一个隐层的第15个token特征进行分类;对训练数据的第15个词进行 mask 掉,预测第15个词;1-2--基于预训练模型实现下游任务。1-1--使用预训练模型推理。3--中文句子关系推断。
2023-11-28 00:17:43 849
原创 HuggingFace学习笔记--metrics和pipeline的使用
pipeline 一般可以拆分为 tokenizer(分词)、model(模型) 和 post-process(后处理) 三部分;使用 pipeline 可以快速使用预训练好的模型,可以直接进行相关的任务,或作为下游任务的预训练模型。通过 list_metrics 查看所有的评价指标,通过 load_metric 选取合适的评价指标;2--pipeline的使用。2-1--正负面文本分类任务。1--metrics的使用。1--metrics的使用。2-2--阅读理解任务。
2023-11-27 20:40:16 733
原创 HuggingFace学习笔记--datasets的使用
1--datasets的使用。1--datasets的使用。1-3--打乱和排序数据集。1-4--选择和筛选数据集。1-1--加载数据集。1-2--查看数据集。1-5--划分数据集。1-6--修改数据集。1-7--导出数据集。
2023-11-27 19:52:15 2958 1
原创 HuggingFace学习笔记--Model的使用
Transformer的 model 一般可以分为:编码器类型(自编码)、解码器类型(自回归)和编码器解码器类型(序列到序列);Model Head(任务头)是在base模型的基础上,根据不同任务而设置的模块;base模型只起到一个编码和建模特征的功能;AutoModel 用于加载模型;2--AutoModel的使用。2-1--简单Demo。1--Model介绍。1--Model介绍。
2023-11-26 22:10:13 1164
原创 HuggingFace学习笔记--Tokenizer的使用
例如上述代码中,101 对应 [CLS],1045 对应 I,2293 对应 love,24113 对应 kobe,12471 对应 bryant,1012 对应 . 符号,102 对应 [SEP];input_ids 存储了每一个句子分词后对应的 ID,0 表示 padding 的词;由于上面测试代码设置了padding,因此会将每一个句子自动padding为最长句子的长度,padding的词用 0 来表示。1--AutoTokenizer的使用。1-1--简单Demo。2-1--简单Demo。
2023-11-26 19:37:34 2247
原创 推荐系统笔记--Swing模型的原理
重叠度大代表两个人可能来自同一个小圈子,那么他们对相似度的贡献会比较小。重叠度小,说明他们可能不属于同一个小圈子,则他们对相似度的贡献比较大,使用 overlap(u1, u2) 可以降低小圈子对相似度的影响,alpha是个人工设置的参数,用来防止分母为 0 的情况;在 Item CF 召回中,物品的相似度是基于其。时,就会误将两个不相似的物品定义为相似;Swing 模型引入。来衡量的,但当受众的交集局限在一个。来判断两个用户是否属于一个小圈子;1--Swing模型的引入。1--Swing模型的引入。
2023-11-12 21:52:48 464
原创 推荐系统笔记--基于物品的协同过滤(Item CF)
Item CF的基本思想是:如果用户A喜欢物品 item1,而且物品 item1 和 物品 item2 很相似,那么用户很可能也喜欢 item2,因此可以将 item2 推荐给用户A;来将新的物品推荐给用户;下图中用户对红色物品的感兴趣度为 [2, 1, 4, 3],红色物品与橙色物品的相似度为 [0.1, 0.4, 0.2, 0.6],因此可以计算出用户对橙色物品的感兴趣度。一般来说,两个物品的受众重合度越高,两个物品越相似。3--ItemCF召回流程。
2023-11-12 21:37:58 781
Sheffield大学Matlab遗传算法工具箱.zip
2020-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人