- 博客(381)
- 资源 (1)
- 收藏
- 关注
原创 Pytorch笔记--RuntimeError: NCCL communicator was aborted on rank 3.
从默认的30min,延长至其他时间:torch.distributed.init_process_group(backend='nccl', init_method='env://',超时错误,原因可能是CPU线程忙碌(服务器CPU资源不够),导致数据长时间加载不了,从而出现了超时bug。例如减少数据加载的线程(降低num_workers),避免由于CPU线程不足导致的超时问题。
2024-10-26 18:58:18 296
原创 DeepSpeed笔记--利用Accelerate实现DeepSpeed加速
4-1--创建accelerrate配置。# 安装accelerate。# 获取默认配置文件。# 查看环境是否配好。
2024-09-28 21:51:44 343
原创 Python复习笔记--正则表达式的常用方法总结
指的是:模式串不使用特殊字符来匹配字符串,而采取完整的字符子串进行匹配,其在使用findall()进行查询时会返回完整的字符子串。等)来匹配字符串,其在使用findall()只会返回起始字符和结束字符之间的字符串。3-1--re.IGNORECASE忽略大小写进行匹配。3-2--re.ASCII只匹配ASCII字符。2--findall()隐式和显式匹配字符串。3-3--re.DOTALL连同\n一起匹配。1--常用特殊字符总结。1--常用特殊字符总结。3--常用匹配常量总结。
2024-09-28 17:32:30 185
原创 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 683
原创 AIGC笔记--Stable Diffusion源码剖析之DDIM
以论文《High-Resolution Image Synthesis with Latent Diffusion Models》 开源的。以文生图为例,剖析SD中DDIM的核心组成模块。本质上SD的DDIM遵循论文。为例,剖析Stable Diffusion经典组成部分,巩固学习加深印象。
2024-07-04 15:27:23 514
原创 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 1059
原创 AIGC笔记--Stable Diffusion源码剖析之FrozenCLIPEmbedder
以论文《High-Resolution Image Synthesis with Latent Diffusion Models》 开源的。为例,剖析Stable Diffusion经典组成部分,巩固学习加深印象。在具体使用中,会利用上述代码生成。来预测无条件噪声和有条件噪声。
2024-06-06 20:19:06 360
原创 AIGC笔记--MoE模型的简单实现
每个专家网络模型往往是独立的,且分别用于不同的问题;第二部分是门控网络,用于确定使用哪些专家网络模型,一般通过计算每个专家网络的分数(权重)来实现。MoE模型的核心组成有两部分:第一部分是多个。),其主要将多个专家神经网络模型组合成一个更大的模型。
2024-06-02 23:22:36 333
原创 AIGC笔记--基于PEFT库使用LoRA
核心公式是:new_weights = origin_weights + alpha* (BA)固定原始层,通过添加和训练两个低秩矩阵,达到微调模型的效果;4--权重保存和合并。
2024-05-28 16:21:39 1012
原创 AIGC笔记--基于Classifier-Free Diffusion Guidance的Conditional Diffusion
【代码】AIGC笔记--基于Classifier-Free Diffusion Guidance的Conditional Diffusion。
2024-05-17 22:33:19 303
原创 手撕算法笔记--手撕交叉熵损失函数和对比学习InfoNCE loss
其中,y_pred表示模型预测的概率值,y_true表示真实的类别标签。其中,N表示batchsize的大小,M表示类别的个数。1-1--二元交叉熵。1-2--多元交叉熵。
2024-03-27 21:12:01 578
原创 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 584 2
原创 AIGC笔记--条件自回归Transformer的搭建
1. 自回归 TransFormer 规定Token只能看到自身及前面的Token,因此需生成一个符合规定的Attention Mask;(代码提供了两种方式自回归Attention Mask的定义方式);2. 使用Cross Attention实现条件模态和输入模态之间的模态融合,输入模态作为Query,条件模态作为Key和Value;
2024-03-06 20:38:00 309
原创 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 796
原创 AIGC笔记--GAN模型的搭建
很多时候会出现以下问题:1. 生成器的损失会上升而辨别器的损失会下降,或者是生成器的损失会下降而辨别器的损失会上升;训练生成器时,使用噪声作为生成器的输入生成噪声图片,将噪声图片输入到辨别器进行判断,并设置此时的训练标签为1,通过欺骗辨别器来训练生成器,企图让生成器的输出更接近真实的图片。训练辨别器时,使用分别使用噪声图片和真实图片作为辨别器的输入,噪声图片对应的训练标签为0,真实图片的训练标签为1,使辨别器作二分类任务来学会判断噪声和真实图片;经典GAN模型先训练辨别器,再训练生成器;
2024-03-04 11:32:54 281 2
原创 AIGC笔记--特征线性调制(FiLM)层的实现
特征线性调制(Feature-wise Linear Modulation,FiLM)层是一种神经网络模块,它可以用来实现特征的条件调整。,使得模型可以根据特定的条件(例如来自其他模态的信息)来调整特征的表示。,然后对输入特征进行缩放和偏移,即y = γ * x + β。这里,γ和β是与输入特征x同样大小的向量,它们决定了对输入特征的。FiLM层的工作原理如下:给定一个输入特征x,FiLM层首先通过一个全连接层或其他形式的网络结构生成两个参数。总的来说,FiLM层是一种强大的特征调整工具,它可以帮助模型。
2024-01-18 21:45:57 2378
原创 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 1880
原创 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 814
原创 AIGC笔记--VAE模型的搭建
Encoder 返回映射标准分布的均值和方差,从标准分布中随机采样,利用Decoder重构图片;通过一个 encoder 将图片映射到。一个样本,通过 decoder 重构图片;(均值和方差),从映射的标准分布中随。
2024-01-16 00:21:52 675
原创 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 888
原创 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 5595 4
原创 HuggingFace学习笔记--BitFit高效微调
BitFit,全称是 bias-term fine-tuning,其高效微调只去微调带有 bias 的参数,其余参数全部固定;1--BitFit高效微调。1--BitFit高效微调。
2023-12-02 22:40:12 1005
原创 HuggingFace学习笔记--Trainer的使用
利用 Trainer 可以快速进行模型训练的配置,一般需要设置训练的模型以及训练相关参数等;1--Trainer的使用。1--Trainer的使用。1-1--简单Demo代码。
2023-12-01 18:44:14 2484
原创 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 879
原创 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 775
Sheffield大学Matlab遗传算法工具箱.zip
2020-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人