自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【ubuntu 连接显示器无法显示】可以通过 ssh 连接 ubuntu 服务器正常使用,但服务器连接显示器没有输出

这样应该能完成驱动的完整重装。重启后,系统应该使用新安装的NVIDIA驱动。

2025-01-22 14:12:46 453

原创 【tailscale 和 ssh】当服务器建立好节点,但通过客户端无法通过 ssh 连接

【代码】【tailscale和ssh】当服务器建立好节点,但通过客户端无法通过ssh连接。

2025-01-17 21:51:30 433

原创 【Linux 重装】Ubuntu 启动盘 U盘无法被识别,如何处理?

(2)通过以下命令格式化后,磁盘工具就可以识别啦。

2025-01-17 20:36:31 476

原创 【Domain Generalization(4)】领域泛化与文生图之 -- CDGA 跨域生成式数据增强 Cross Domain Generative Augmentation

Image Classification 上的领域泛化,重点是用 LDM 来做数据增强,关键是补充了 Cross Domain (两种 Domain 之间)的数据。

2025-01-14 21:23:33 718

原创 【3DGS (1) 】3D Gaussian Splatting全解 (原理+代码+公式) - 笔记

Splatting 是一种主动的**体渲染**方法,从 3D 物体渲染到 2D 平面主动: 计算出每个发光粒子**如何影响像素点**Ray-casting 是被动的(NerF)计算出每个像素点受到发光粒子的影响来生成图像在这个3D高斯渲染的上下文中,发光粒子指的是3D空间中的点每个点都具有一定的属性(如颜色、不透明度等),可以影响最终渲染图像上的像素。这些"发光粒子"可以理解为**空间中的采样点在Splatting方法中,主动计算每个粒子如何影响2D平面上的像素。

2025-01-14 11:01:12 1691

原创 【Domain Generalization(3)】领域泛化与文生图之 -- QUOTA 任意领域中的生成物体的数量可控

任务是文生图,重点在生成图像中物体数量的准确性/可控性。关键是 Any Domain,在两阶段(不同 Domain) 的数据上对新增的 token 优化/训练,实现领域泛化。

2025-01-13 16:55:58 987

原创 【踩坑记录❌】ubuntu 安装 NVIDIA 显卡驱动不要 autoinstall

背景在 ubuntu 22.04 安装 NVIDIA 显卡驱动参考了 博客 的步骤进行,发现有很多评论也出现了无法联网的情况后续解决尝试了网卡驱动下载的各类方法,安装驱动的过程中又缺失内核头、 gcc 编译器等文件。由于没有网络,每次缺失的文件只能从另外一台同为 ubuntu 22.04 的电脑上下载,通过 u 盘拷贝,,,来回下载 3、4次后还未解决最后还是选择重装 ubuntu 了,特此记录下,避免再次犯错😭。

2025-01-10 14:55:33 351

原创 【PaddleOCR 踩坑记录】FatalError: `Illegal instruction` is detected by the operating system.

卸载并安装旧版本的 paddlepaddle。输入图像后,成功输出结果🎉。

2025-01-10 14:47:20 523

原创 【Triton-ONNX】如何使用 ONNX 模型服务与 Triton 通信执行推理任务上-Triton快速开始

运行示例图像客户端应用程序,以使用示例 dendensenet_onnx 模型执行图像分类。要发送 dendensenet_onnx 模型的请求,请使用 /workspace/images 目录中的图像。在某些情况下,使用 CUDA 共享内存在客户端库和 Triton 之间传递张量可以显著提高性能。在某些情况下,使用系统共享内存在客户端库和 Triton 之间通信张量可以显著提高性能。

2025-01-02 16:09:44 1115

原创 【HTTP和gRPC的区别】协议类型/传输效率/性能/语义/跨语言支持/安全性/使用场景/易用性对比

这个表格总结了HTTP和gRPC在不同方面的主要区别,帮助快速比较和理解两者的差异。

2025-01-02 11:35:44 526

原创 【Domain Generalization(2)】领域泛化在文生图领域的工作之——PromptStyler(ICCV23)

大规模预训练模型已观察到多种领域,其联合视觉语言空间中,文本特征可有效表示相关图像特征,且尽管存在模态差异,但存在跨模态迁移性现象,即可以使用文本特征训练分类器并使用图像特征进行推理,这为解决无源域数据的领域泛化问题提供了思路。

2024-12-31 18:06:55 932

原创 【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解

该系列是对 Domain Generalization 的学习记录,本文详细介绍了 DG 的相关概念和代表性工作。

2024-12-31 17:01:22 1157

原创 【N 卡 掉驱动 Driver 】NVML ERROR: Driver Not Loaded

根据个人情况搜索后,选择最新的 Driver 进行下载,如果希望直接通过命令行下载,可以复制该按钮的链接地址。通过 wget 进行下载。这将启动NVIDIA驱动程序安装程序,可以按照屏幕上的指示完成安装。本文是直接无脑 Yes 到底。为了使更改生效,需要更新系统的模块依赖并重新加载udev规则。这将阻止Nouveau驱动加载,并确保NVIDIA驱动可以控制显示器。重启后用 nvitop 就正常啦🎉🎉🎉。保存文件并退出编辑器。

2024-11-29 15:49:09 1123

原创 【Tailscale 重连 client】 This machine’s key expired xx minutes ago and needs to be reauthenticated.

【代码】【Tailscale 重连 client】 This machine’s key expired xx minutes ago and needs to be reauthenticated.

2024-11-27 15:57:31 349

原创 【vs code(cursor) ssh连不上服务器(3)】无法连接到远程扩展主机服务器 (错误: CodeError(AsyncPipeFailed(Os { code: 2, kind: NotF

将 vs code ssh 插降级到0.107.1(安装特定版本),并关闭自动更新,终于在 vs code 上正常连接上服务器了😭🎉。注意,最好同时也关闭 vs code 的自动更新,因为服务器那边的 vs code 不会自动更新,可能也会出现不匹配版本的问题。大概率可能是 vs code 插件自动更新,导致不能连接上版本太老的 OpenSSH / OpenSSL?发现服务器3 的 OpenSSH 和 OpenSSL 比较老!

2024-11-02 11:41:43 3013 4

原创 模型权重文件总结: .bin、.safetensors、.pt的保存、加载方法一览

bin.pt.pth:这些格式大多数情况下保存的是state_dict,需要通过将其加载到模型中。完整模型 (.pt:保存的是整个模型对象,包含模型架构和权重,加载时直接得到模型实例。:专为安全和效率设计,需要库处理加载和保存。

2024-10-22 12:33:23 3914

原创 【Flux 拆解(1)】CLIP 和 T5 的 Tokenizer 异同

本系列将以 Flux-dev 为例,详细拆解各个部分的细节和重点。Flux 整体框架图如下,来源于: 《Stable Diffusion 3「精神续作」FLUX.1 源码深度前瞻解读》

2024-10-19 15:53:22 1729

原创 【HuggingFace 如何上传数据集 (3) 】Dataset-稳定上传与下载大量(上万)图片等格式的数据

【HuggingFace 如何上传数据集】快速上传图片、文本等各种格式的数据可能遇到网络不稳定的情况。【HuggingFace 如何上传数据集 (2) 】国内网络-稳定上传图片、文本等各种格式的数据可能遇到传输限制文件数量不能超过 10000 条的情况。本文则通过 datasets 库来进行大量的图像数据上传。

2024-10-18 11:15:56 760

原创 【HuggingFace 如何上传数据集 (2) 】国内网络-稳定上传图片、文本等各种格式的数据

上文的方法因为是 https 协议,在国内很容易遇到不稳定、中断等可能性,为了保障能稳定上传,推荐还是使用 ssh 协议来传输。

2024-10-17 20:23:45 1241

原创 【wandb】FileNotFoundError + Timed out waiting for wandb service to start after 30.0 s

在 python 主程序中设置 wandb 的可以参考官方论坛中的方法: https://community.wandb.ai/t/how-to-increase-service-wait/5418。说明问题应该就是 deepspeed 和 wandb 之间的网络通信出现了一定的问题,或者就是网速比较慢,需要更长的等待时间。由于本文的情况是在 accelerator 直接 log_with 中登录的 wandb,如下所示。因此,只需在命令行中尝试增加等待时间即可。再仔细往上溯源,发现真正的错误其实是在。

2024-10-17 20:01:41 463

原创 【HuggingFace 如何上传数据集】快速上传图片、文本等各种格式的数据

如果只是为了上传备份、或者迁移数据,可以不用 huggingface dataset,而是直接使用 HfApi()来上传文件夹。

2024-10-17 15:54:43 1252

原创 【分布式训练(6)】深入理解多卡训练时 training steps, epoch 的相关概念

通常情况下,像 args.num_train_epochs 这样的超参数应该在训练开始之前被设定为固定值,而不是在训练过程中被动态计算和赋值。文本以 flux 的微调训练代码为例 https://github.com/XLabs-AI/x-flux/blob/main/train_flux_deepspeed.py。这样,我们就可以在多GPU环境中更有效地利用硬件资源,加速训练过程。,我们可以控制每次更新模型时使用的数据量,进而影响模型训练的稳定性和收敛速度。

2024-10-15 21:54:01 1248

原创 【分布式训练(5)】无法 kill PID?如何 kill 休眠中的 GPU 占用进程

所以对这些 .cursor-server 的 PID 号进行 kill 就可以解决该问题啦。

2024-10-15 16:13:07 519

原创 【分布式训练(4)】accelerator.sync_gradients 和 checkpointing 深入理解

sync_gradients(同步梯度)

2024-10-14 22:01:06 746

原创 【分布式训练(3)】accelerator + deepspeed debug 报错 “Timed out waiting for debuggee to spawn“ 解决方法✅

用以上 launch.json 对 accelerator + deepspeed 的训练代码进行 debug,结果完全无法连接。灵感来源:https://blog.csdn.net/qq_19716143/article/details/136035839。

2024-10-14 21:27:57 548

原创 【分布式训练(2)】深入理解 DeepSpeed 的 ZeRO 内存优化策略 (三阶段的区别)

在深度学习领域,分布式训练是一个重要的研究方向,它允许我们利用多个GPU来加速模型的训练过程。然而,随着模型规模的增大,单个GPU的内存限制成为了一个瓶颈。为了解决这个问题,DeepSpeed 提供了一种名为 Zero Redundancy Optimizer(简称 ZeRO)的技术,它通过不同的阶段(stage)来优化内存使用,从而使得训练更大的模型成为可能。

2024-10-12 21:28:13 718

原创 【Pytorch 深入理解(1)】不训的模块为什么 training = true ?.train() 和 .eval() 的区别,和 requires_grad 的关系?

冻结参数:使用 requires_grad_(False)。设置训练模式:使用 model.train()。这样可以确保模型在训练过程中正常工作,但不会更新被冻结的参数。

2024-10-12 18:11:00 194

原创 【分布式训练 debug】VS Code Debug 技巧:launch.json实用参数

在使用Visual Studio Code (VS Code)进行调试时,文件是一个强大的工具,它允许你自定义调试会话。以下是一些实用的参数,可以帮助你更有效地调试Python代码。

2024-10-02 20:01:19 852

原创 【vs code(cursor) ssh连不上服务器(2)】但是 Terminal 可以连上,问题解决 ✅

如果问题依然存在,可以尝试调整网络配置或查看更详细的日志。

2024-09-30 12:32:01 2264

原创 【vs code(cursor) ssh连不上服务器】但是 Terminal 可以连上,问题解决 ✅

通过 vs code 的 ssh 原本方式无法连接,但是通过 Terminal 使用相同的 bash 却可以连接上服务器。

2024-09-29 13:23:52 2950 1

原创 【Hugging Face 下载中断】Git LFS 如何下载指定文件、单个文件夹?

在处理大型模型或数据集时,我们经常使用 Git Large File Storage (LFS) 来管理这些大文件。然而,下载过程中可能会遇到中断,需要重新下载特定文件或文件夹。本文将介绍如何在 Hugging Face 上使用 Git LFS 下载指定文件或单个文件夹。

2024-09-20 11:05:48 678

原创 【Flux TensorRT 模型部署踩坑(三)】error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

将 Flux 的 onnx 模型上传至 hugging face 上,遇到以下报错。下载到本地、然后通过 Upload files 手动上传备份😂。

2024-09-17 11:25:13 926

原创 【Flux TensorRT 模型部署踩坑(二)】TypeError: z_(): incompatible function arguments. Invoked with: %329

TypeError: z_(): incompatible function arguments. The following argument types are supported: 1. (self: torch._C.Node, arg0: str, arg1: torch.Tensor) -> torch._C.NodeInvoked with: %329 : Tensor = onnx::Constant(), scope: transformers.models.clip.mode

2024-09-16 21:15:16 652

原创 【Flux TensorRT 模型部署踩坑(一)】onnx_export 模型输入乱序,TypeError: takes 3 positional arguments but 4 were given

通过在 onnx_export 时将断点打到调用的 pipeline.transformer 模型 forward 开头位置,发现是与此处的输入变量一一对应,而非调用 pipeline.transformer 处的输入顺序。解决方案就是改用 (1) 的顺序,重新写 onnx_export 中的 model_args,注意,None 和 False 的值也要写上,可以将以下代码作为参考。onnx_export 过程中,一直出现有 forward() 中的输入变量数量不对的问题。

2024-09-16 20:21:57 566

原创 深入探讨:为什么会出现 0.30000000000000004 以及如何避免浮点数精度问题

在编程和数据分析中,处理浮点数是常见的任务。然而,浮点数的精度问题常常困扰着开发者。一个典型的例子是,当你尝试在 Python 中生成从 0.1 到 0.9 的浮点数序列时,你可能会意外地得到像 0.30000000000000004 这样的值。本文将探讨这种现象的原因,并提供一些解决方案。

2024-09-09 21:41:10 671

原创 【扩散模型(十)】IP-Adapter 源码详解 4 - 训练细节、具体训了哪些层?

IP-Adapter 训的就是 image_proj_model(或者对于 plus 来说是 resampler) 和 adapter_modules 两块。在 adapter_modules 中,实际只训了 IPAttnProcessor2_0 的 to_k_ip 和 to_v_ip。adapter_modules 是在每个有含有 cross attention 的 unet block 里进行的替换,如下图所示。

2024-09-06 18:25:20 1181 2

原创 【扩散模型(九)】IP-Adapter 与 IP-Adapter Plus 的具体区别是什么?

从下图中可以很直观地看出有两处不同,第一是使用 image encoder 的方式不同、得到了不同的图像特征,第二是将原有的简单 ImageProjModel 替换成了更加复杂的 Resampler 以提取更多的图像信息。(2) .hidden_states[-2]:这行代码调用self.image_encoder时,通过 output_hidden_states=True 参数指示编码器输出除了。是一个简单的投影模型,可能用于将图像特征投影到一个多维空间以便于与其他类型的数据结合。

2024-08-27 22:08:23 1700 1

原创 【扩散模型(六)】IP-Adapter 是如何训练的?2 源码篇(IP-Adapter Plus)

在 IP-Adapter Plus 中,采用的是 Resampler 作为img embedding 到 ip_tokens 的映射网络,对图像(image prompt)中信息的抽取更加细粒度。从以下代码可以看出,IPAdapter 主要由 unet, image_proj_model, adapter_modules 3 个部分组成,而权重需要被优化的(训练到的)只有 ip_adapter..parameters(), 和 ip_adapter.,本文的重点是后续训练的实现。

2024-08-27 17:22:24 1519

原创 【扩散模型(八)】Stable Diffusion 3 diffusers 源码详解2 - DiT 与 MMDiT 相关代码(下)

中的 JointTransformerBlock 类,其中 hidden_states (noisy latent)和 encoder_hidden_states (text prompt) 分别通过 norm1 和 norm1_context 后,进入了第四层。transformer_sd3.py 中的 forward 函数中以下片段进入 for 循环,如果不训练 backbone的话,那么就是从 else 分支进入 block 中。下方画出的图片和对应代码即为文图融合的核心关键,在原论文中。

2024-08-26 10:34:27 1805 3

原创 【炼丹经验积累(一)】梯度消失 学习率自动调节 附代码

(1)先 warm up,在前 1/10 个训练步中,学习率从 0 调节到设定的 1e-5。自动调节学习率的方式很多,本文先从最简单地尝试起来,即“线性调节”(2)再衰减,在后续的训练步中,线性地从 1e-5 逐渐减为 0。

2024-08-22 15:03:18 758

CLIP 模型从 .pt 到 .onnx 的 python 转化代码

本代码详细演示了如何将 OpenAI 的 CLIP 模型从 PyTorch 的 .pt 格式转换为 ONNX 格式,便于在多种平台上进行部署和加速推理。 适用人群:机器学习和深度学习开发者、模型部署工程师、需要在不同平台上高效运行模型的研究人员。 使用场景及目标:适用于需要将 PyTorch 模型转换为 ONNX 格式以优化推理速度的场景,例如移动设备、边缘计算设备、服务器部署等。目标是提高模型推理性能和跨平台兼容性。 其他说明:代码包含详细的注释和步骤说明,易于理解和使用。无论你是模型转换的新手还是有经验的开发者,都能快速上手并实现你的需求。欢迎下载和使用,并期待你的反馈和改进建议! 快来下载,提升你的模型部署效率吧!

2024-05-20

空空如也

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

TA关注的人

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