- 博客(174)
- 收藏
- 关注
原创 【diffusers 进阶(十五)】dataset 工具,Parquet和Arrow 数据文件格式,load dataset 方法
Parquet文件采用列式存储格式,与CSV等行式文件不同。由于效率更高且查询响应更快,大型数据集通常存储为Parquet格式。Arrow文件采用内存列式存储格式,与CSV等行式格式和未压缩的Parquet格式不同。
2025-04-03 19:51:22
900
原创 【diffusers 进阶(十四)】权重读取,查看 Lora 具体加在哪里和 Rank ‘秩’ 是多少?以 OminiControl 为例
读取并打印 lora_A 的输出特征数(即 rank)或者 lora_B 的输入特征数即可。打印出想要的权重后,可以清楚地看出 lora 加在哪些层上。
2025-04-02 20:20:28
767
原创 【huggingface 数据下载】ssh / https 不同的下载流程,hf 镜像下载注意事项
一直卡在 Updating files 后。这会显示系统当前允许监视的最大文件数。
2025-04-01 11:53:38
536
原创 浮点数例外 (核心已转储), Floating point exception (核心已转储)
报错发生的位置:/path/diffusers/models/embeddings.py 的 1309 行,sample = self.linear_2(sample)但奇怪的是,报错不会显示问题出现在哪一行,而是直接中断,提示 Floating point exception (核心已转储)项目:https://github.com/RedAIGC/Flux-version-LayerDiffuse。改为了 torch_dtype=torch.float32。
2025-04-01 11:33:06
178
原创 【diffusers 进阶之 PEFT 入门(三)】BaseTunerLayer 与 set_adapter
这种设计使得 PEFT 可以在同一个模型中管理多个适配器,并轻松切换它们的活跃状态。是 Python 类方法中的第一个参数,表示类的实例本身。在 PEFT 的上下文中,这些属性是存储适配器层的字典。是 Python 内置函数,用于获取对象的属性。
2025-03-27 15:41:30
571
原创 【diffusers 进阶之 PEFT 入门(二)】LoraConfig 如何处理 lora_config 参数的?
这种设计允许用户通过简单的配置字典灵活地控制 LoRA 适配器的行为,而不需要直接修改模型代码。会将字典中的键值对作为参数传递给。对于您提供的复杂正则表达式。
2025-03-27 15:03:18
979
原创 【整流模型(三)】Flux 中 MM-DiT 和 Single-DiT 中的具体区别
处理流程:MM-DiT 同时处理两个输入流并让它们相互交互Single-DiT 处理单一输入流 (MM-DiT 的双流合并后的单流)并行注意力机制:Single-DiT 块里用到了并行注意力层,而 MM-DiT 是串行的。主要指 MLP 和 Attention 的关系(并行 or 串行)并行注意力层是在文章中提出的。如下图所示,这项技术很好理解,只不过是把注意力和线性层之间的串联结构变成并联结构。好处是,由于数据在过**注意力层前后本身就要各过一次线性层,在并联后,这些。
2025-03-27 12:31:37
921
原创 【diffusers 进阶之 PEFT 入门(一)】 inject_adapter_in_model 详解
这个函数允许用户将PEFT适配器直接注入到PyTorch模型中,而不需要创建完整的PEFT模型包装器。是PEFT(Parameter-Efficient Fine-Tuning)库中的一个重要函数,它提供了一种简单的方式来将适配器(adapter)直接注入到现有模型中。这个函数为用户提供了一种更直接、更轻量级的方式来应用PEFT技术,特别适合那些只需要基本适配器功能的场景。实例化调谐器,这一步会将随机初始化的适配器层注入到模型的相应模块中。返回注入了适配器的原始模型。
2025-03-27 11:13:31
379
原创 【Python进阶4】内置函数 getattr 再理解
getattr函数为 Python 提供了一种灵活获取对象属性和动态调用方法的途径,特别是在需要根据运行时的条件来决定获取哪个属性或调用哪个方法时,它非常有用。
2025-03-27 11:06:11
244
原创 【归一化总结】BatchNorm(BN)、InstanceNorm(IN)、LayerNorm(LN) 和 GroupNorm(GN)
AdaLN-Zero 是 AdaLN 的变体,最关键的区别在于初始化策略。为了更好地适应条件输入,AdaLN-Zero 的参数在初始化时设置为零,使得初始状态下归一化效果接近原始 LayerNorm。Batch Normalization 基于 mini-batch 的统计信息(均值和方差)对输入特征进行归一化。Instance Normalization 对每个样本的每个通道分别计算均值和方差进行归一化。的扩展,用于动态调整归一化后的特征分布。的扩展,通过条件输入动态调整归一化参数。
2025-03-26 20:20:10
1032
原创 【diffusers 进阶(十三)】AdaLayerNormZero 与 AdaLayerNormZeroSingle 代码详细分析
是自适应层归一化(Adaptive Layer Normalization)的变体,特别是 AdaLN-Zero 方法的实现。这种归一化技术在生成模型(如扩散模型)中非常重要,它允许模型根据条件信息动态调整归一化参数。与传统的 AdaIN(Adaptive Instance Normalization)不同,AdaLN-Zero 在初始状态下对原始特征的影响接近于零,这使得训练更加稳定。这种归一化方法是实现高质量条件生成的关键组件之一,使模型能够根据不同的条件生成多样化且可控的输出。
2025-03-26 16:58:31
987
原创 【diffusers 进阶(十二)】Lora 具体是怎么加入模型的(推理代码篇下)OminiControl
对于空字典对禁用 LoRA(因为,上下文管理器将缩放因子设为0)对启用 LoRA(因为在上下文外,LoRA 已恢复原始状态)处理时不使用LoRA处理时使用LoRA(如果原本有启用的话)实际上是只对应用 LoRA,而对禁用了 LoRA。
2025-03-26 16:41:06
1244
原创 【Python 代码进阶-3】Python 中的常用内置函数 isinstance, getattr
方法是 PEFT (Parameter-Efficient Fine-Tuning) 库中的一个关键函数,用于设置和激活特定的适配器层。这种机制使得模型可以灵活地使用不同的参数集,而不需要加载多个完整模型,大大提高了参数效率。是 Python 内置函数,用于检查一个对象是否是特定类或其子类的实例。动态获取当前层的模块字典,其中包含了不同适配器的参数。是 Python 内置函数,用于获取对象的属性值。是一个列表,即使用户传入单个字符串。包含了所有可能包含适配器的层的名称。将当前活跃的适配器名称保存到对象的。
2025-03-26 10:53:22
334
原创 【diffusers 进阶(十一)】Lora 具体是怎么加入模型的(推理代码篇)OminiControl
由于 transformer_norm_state_dict 和 text_encoder_state_dict 为空,说明不向 transformer 中加入 norm 后的权重,也不对 text encoder 加入 lora。以其中的 /path/OminiControl/examples/subject_1024.ipynb 为具体代码示例。,而 3 是在 /path/OminiControl/src/flux/generate.py 中的。
2025-03-25 20:27:08
687
原创 【Python 代码进阶-2】Python 中的 **(...)语法,字典解包操作符
在 Python 中,语法是字典解包操作符,用于将字典中的键值对作为关键字参数传递给函数。这是一种非常强大的语法,允许动态构建函数调用的参数。在以下示例代码片段中:这里的 部分是在做以下操作:首先,根据 的值评估条件表达式:如果 为 ,则创建包含两个键值对的字典如果 为 ,则创建一个空字典 然后,使用 操作符将这个字典解包为关键字参数这段代码的实际效果是:当 为 时:为什么使用这种语法?这种语法提供了几个优点:这种语法在 Python 中有多种用途:在您的代码中,这种模式使得
2025-03-25 14:52:35
290
原创 【N卡驱动安装】Linux 下 NVIDIA驱动/CUDA Toolkit/cuDNN 之间的区别和安装顺序
【代码】【N卡驱动安装】Linux 下 NVIDIA驱动/CUDA Toolkit/cuDNN 之间的区别和安装顺序。
2025-03-25 11:33:41
426
原创 【重装系统】全流程记录,在 MacOS 的电脑上烧录 Ubuntu 启动盘
安装后,重启一直是黑屏,但 BIOS 可以正常进入,没有 grub 菜单、但也可以进入 grub 命令行中。建议一定要选这个,这样刚安装好 ubuntu 时就可以进入。
2025-03-25 11:32:59
672
原创 【Python 进阶-1】Python 上下文管理器(Context Manager),with 语句
类是一个上下文管理器(Context Manager),这是 Python 中用于资源管理的一种设计模式,通常与。这种模式允许在特定代码块中临时修改 LoRA 的行为,而不影响其他代码,是一种优雅的资源管理方式。推理与训练行为差异化,这允许在训练和推理阶段有不同的 LoRA 使用策略。Python 上下文管理器中的。
2025-03-25 11:27:24
373
原创 【扩散模型思考记录(三)】分类、回归与扩散模型的关联
对比维度分类问题回归问题扩散模型任务目标预测离散类别标签预测连续数值学习数据分布并生成新样本输入/输出输入:特征向量输出:类别概率输入:特征向量输出:连续值输入:含噪数据xt(x_t)xt+ 时间步 (t)输出:预测噪声ϵθϵθ损失函数交叉熵损失(CrossEntropyLoss)均方误差损失(MSELoss)均方误差损失(MSELoss,预测噪声)或变分下界损失模型结构逻辑回归、CNN、Transformer等线性回归、决策树、SVM回归等。
2025-03-24 15:57:10
1137
原创 【可视化必备技能(1)】SD / Flux 文生图模型的 Attention Map 可视化
即在推理(去噪过程)就自动跳到 hook_function 的 forward_hook 中。- 两个函数都在 attention-map-diffusers/attention_map_diffusers/utils.py。是PyTorch的一个内置方法,用于注册一个前向传播钩子。这个钩子会在模块的前向传播完成后被调用。这种替换机制配合之前的hook机制,共同实现了完整的注意力图捕获和存储功能。这个替换的主要目的是为了在模型的前向传播过程中捕获注意力图。这是实现注意力图可视化的关键部分。
2025-03-06 21:40:07
1019
原创 【diffusers极速入门(十)】Flux-pipe 推理,完美利用任何显存大小,GPU显存节省终极方案(附代码)
Flux-pipe 推理,完美利用任何显存大小,GPU显存节省终极方案(附代码)
2025-02-20 14:30:02
579
2
原创 【diffusers极速入门(九)】GPU 显存节省(减少内存使用)代码总结
【代码】【diffusers极速入门(九)】GPU 显存节省(减少内存使用)代码总结。
2025-02-19 20:52:55
748
原创 【Domain Generalization(6)】领域泛化与文生图之-DomainFusion (ECCV24)下/ Latent Distillation / Online Learing
对比度降低(Contrast Reduction)是一种常见的的 corruptions 方法,也对比了通过其他不同的 Corruption 方法获得的结果,最终 Avg 是降低对比度的效果最好。复杂背景图像上 LD 噪声的可视化。
2025-02-17 20:13:39
612
原创 【Domain Generalization(5)】领域泛化与文生图之-DomainFusion (ECCV24)上 / Latent Distillation / Online Learing
(A) DSI [68] 为每个源域使用了一个单独的LDM,并且需要在增强之前对所有的LDM进行。张合成图像用于增强 ,导致计算成本显著,导致生成时间延长,并显著增加了DG模型的训练时间。图 4 中的 style 和 content 进行分解的方法来自于。(C ) 提出的 DomainFusion。(B) CDGA [17] 离线生成超过。
2025-02-17 17:32:46
795
原创 【diffusers极速入门(八)】GPU 显存节省(减少内存使用)技巧总结
函数名作用在VRAM有限时解码大批量图像,一次只解码一张图像的潜在向量,搭配可进一步减少内存占用在有限VRAM下处理大尺寸图像,将图像分割成有重叠小块分别解码再融合,搭配可降低内存占用将模型权重卸载到CPU,只在执行前向传递时加载到GPU,可节省内存,但推理速度会变慢将整个模型移到GPU,相比顺序CPU卸载对推理时间影响小,同时节省一些内存应用内存高效注意力机制,提升速度并降低GPU内存用量,安装PyTorch>1.12、有可用CUDA和xFormers后可使用。
2025-02-07 20:44:54
1054
原创 【整流模型(二)】RF-inversion/ Flux 中 free lunch / training-free 的 Editing 和 Style Transfer (Inversion)
背景:生成模型的本质将随机噪声转换为图像;相反过程 - Inversion(反演)目的是将图像转换回结构化噪声,以便于对其恢复和编辑。问题:扩散模型(DMs)由于漂移和扩散的非线性(DDPM, DDIM 过程),它们的反演提出了可靠性和可编辑性的挑战 ion.现有的最先进的DM反演方法依赖于对附加参数的训练或对潜在变量的测试时间优化;这两者在实践中都是昂贵的。贡献:提出了利用线性二次调节器(linear quadratic regulator)得到的动态最优控制进行 RF (整流) 反演。
2025-02-06 22:07:03
892
原创 【整流模型(一) / 扩散模型(十一)】SD1.5 / SDXL / SD3 / Flux 整体区别梳理汇总,扩散与整流(Rectified Flow)的区别
相关论文整理如下:可以把 SD1.5 和 SDXL 放为一类,而 SD3 和 Flux 则为另外一类,关键差异如下:左边为 SD3 (medium)右边为 Flux (dev)关键输入是指,从上方 c 哪里进入 DiT,即和 Latent 一起同时进入 joint attention。而不是从左侧 y 哪里进入 DiT,仅仅作为 Layer Norm 的一个弱约束。
2025-02-06 17:49:09
1089
原创 【权重小技巧(3) 】权重替换—训练 A 模型去替换 B 模型中的对应权重
本文则总结权重的结构化读取和替换方法,以实现在框架 1 中训练后的部分模型 A 的权重,去替换掉框架 2 中推理时模型 B 中对应的权重。需要模型 A 和模型 B 是相同的结构。
2025-02-06 17:02:26
806
原创 【ubuntu 连接显示器无法显示】可以通过 ssh 连接 ubuntu 服务器正常使用,但服务器连接显示器没有输出
这样应该能完成驱动的完整重装。重启后,系统应该使用新安装的NVIDIA驱动。
2025-01-22 14:12:46
656
原创 【tailscale 和 ssh】当服务器建立好节点,但通过客户端无法通过 ssh 连接
【代码】【tailscale和ssh】当服务器建立好节点,但通过客户端无法通过ssh连接。
2025-01-17 21:51:30
555
原创 【Domain Generalization(4)】领域泛化与文生图之 -- CDGA 跨域生成式数据增强 Cross Domain Generative Augmentation
Image Classification 上的领域泛化,重点是用 LDM 来做数据增强,关键是补充了 Cross Domain (两种 Domain 之间)的数据。
2025-01-14 21:23:33
759
原创 【3DGS (1) 】3D Gaussian Splatting全解 (原理+代码+公式) - 笔记
Splatting 是一种主动的**体渲染**方法,从 3D 物体渲染到 2D 平面主动: 计算出每个发光粒子**如何影响像素点**Ray-casting 是被动的(NerF)计算出每个像素点受到发光粒子的影响来生成图像在这个3D高斯渲染的上下文中,发光粒子指的是3D空间中的点每个点都具有一定的属性(如颜色、不透明度等),可以影响最终渲染图像上的像素。这些"发光粒子"可以理解为**空间中的采样点在Splatting方法中,主动计算每个粒子如何影响2D平面上的像素。
2025-01-14 11:01:12
3474
原创 【Domain Generalization(3)】领域泛化与文生图之 -- QUOTA 任意领域中的生成物体的数量可控
任务是文生图,重点在生成图像中物体数量的准确性/可控性。关键是 Any Domain,在两阶段(不同 Domain) 的数据上对新增的 token 优化/训练,实现领域泛化。
2025-01-13 16:55:58
1068
原创 【踩坑记录❌】ubuntu 安装 NVIDIA 显卡驱动不要 autoinstall
背景在 ubuntu 22.04 安装 NVIDIA 显卡驱动参考了 博客 的步骤进行,发现有很多评论也出现了无法联网的情况后续解决尝试了网卡驱动下载的各类方法,安装驱动的过程中又缺失内核头、 gcc 编译器等文件。由于没有网络,每次缺失的文件只能从另外一台同为 ubuntu 22.04 的电脑上下载,通过 u 盘拷贝,,,来回下载 3、4次后还未解决最后还是选择重装 ubuntu 了,特此记录下,避免再次犯错😭。
2025-01-10 14:55:33
385
原创 【PaddleOCR 踩坑记录】FatalError: `Illegal instruction` is detected by the operating system.
卸载并安装旧版本的 paddlepaddle。输入图像后,成功输出结果🎉。
2025-01-10 14:47:20
1145
原创 【Triton-ONNX】如何使用 ONNX 模型服务与 Triton 通信执行推理任务上-Triton快速开始
运行示例图像客户端应用程序,以使用示例 dendensenet_onnx 模型执行图像分类。要发送 dendensenet_onnx 模型的请求,请使用 /workspace/images 目录中的图像。在某些情况下,使用 CUDA 共享内存在客户端库和 Triton 之间传递张量可以显著提高性能。在某些情况下,使用系统共享内存在客户端库和 Triton 之间通信张量可以显著提高性能。
2025-01-02 16:09:44
1201
原创 【HTTP和gRPC的区别】协议类型/传输效率/性能/语义/跨语言支持/安全性/使用场景/易用性对比
这个表格总结了HTTP和gRPC在不同方面的主要区别,帮助快速比较和理解两者的差异。
2025-01-02 11:35:44
624
原创 【Domain Generalization(2)】领域泛化在文生图领域的工作之——PromptStyler(ICCV23)
大规模预训练模型已观察到多种领域,其联合视觉语言空间中,文本特征可有效表示相关图像特征,且尽管存在模态差异,但存在跨模态迁移性现象,即可以使用文本特征训练分类器并使用图像特征进行推理,这为解决无源域数据的领域泛化问题提供了思路。
2024-12-31 18:06:55
993
原创 【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解
该系列是对 Domain Generalization 的学习记录,本文详细介绍了 DG 的相关概念和代表性工作。
2024-12-31 17:01:22
1532
CLIP 模型从 .pt 到 .onnx 的 python 转化代码
2024-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人