- 博客(72)
- 收藏
- 关注
原创 GenerationMixin:_sample方法(GenerationMode.SAMPLE, GenerationMode.GREEDY_SEARCH)
GenerationMode.SAMPLE, GenerationMode.GREEDY_SEARCH
2025-04-03 17:48:21
553
原创 StoppingCriteria代码分析
StoppingCriteria 是一个抽象基类(Abstract Base Class),用于在文本生成过程中定义停止条件。
2025-03-28 16:22:46
844
原创 LogitsProcessor代码分析
LogitsProcessor是一个抽象基类,用于在生成序列的过程中对模型输出的logits进行处理。它的派生类实现了各种策略,以控制生成过程,使其符合特定要求。
2025-03-28 14:45:05
986
原创 Qwen2VLImageProcessor代码分析
self,):参数说明images: 要预处理的图像,可以是单张图像或图像列表。videos: 要预处理的视频,可以是单个视频或视频列表(每个视频由多张图像帧组成)。do_resize: 是否调整图像尺寸。size: 调整后的图像尺寸,包含和。resample: 调整尺寸时使用的重采样滤波器。do_rescale: 是否对图像进行缩放。: 缩放因子。: 是否对图像进行归一化处理。image_mean: 归一化时使用的均值。image_std: 归一化时使用的标准差。
2025-03-24 14:49:06
868
原创 AutoImageProcessor代码分析
特殊情况处理:如果类名是,直接返回对应的类对象。在预定义映射中查找:遍历,尝试导入对应的模块并获取类对象。在动态注册的内容中查找:检查在运行时注册的额外内容中是否存在匹配的类。处理缺失依赖的情况:在主模块中查找,如果类存在,返回占位符类。未找到类:如果以上步骤均未找到匹配的类名,返回None。根据给定的预训练模型名称或路径,加载对应的图像处理器配置文件。解析配置,确定要实例化的具体图像处理器类。根据用户指定或默认的选项,决定是否使用快速版本的图像处理器(如果可用)。
2025-03-22 11:32:36
1166
原创 qwen_vl_utils代码分析
这是图像尺寸调整的因数,图像的高度和宽度都将被调整为28的倍数。:图像的最小像素数,确保图像不小于特定大小。:图像的最大像素数,限制图像的最大尺寸,防止过大的图像占用过多内存。:图像的最大宽高比,用于防止过度拉伸或压缩的图像。:视频帧的最小像素数。:视频帧的最大像素数。:视频帧数需要是此因数的倍数。FPS = 2.0:默认的视频采样帧率。:视频采样的最小帧数。:视频采样的最大帧数。:从环境变量中获取视频的总像素数,如果未设置,则默认使用,并将其转换为整数。这是对视频输入尺寸的限制。
2025-03-20 19:55:00
908
原创 ProcessorMixin:代码分析
方法用于返回处理器实例的字符串表示,包括其属性和配置信息,便于在交互式环境(如控制台或 Jupyter Notebook)中查看对象的信息。根据预训练模型的名称或路径,加载处理器的组件(如分词器、特征提取器),并返回这些组件的实例列表,用于初始化处理器对象。从预训练模型的名称或路径加载处理器实例,这包括加载处理器的组件(如分词器、特征提取器)和配置信息。方法用于将处理器实例序列化为一个 Python 字典,包含实例的所有必要属性,便于保存和加载。中的键,如果处理器实例具有对应的属性,则更新该属性的值。
2025-03-20 10:31:25
969
原创 Python:@dataclass装饰器
装饰器的作用是简化数据类的定义,自动生成常用方法,使代码更简洁、可读性更高。它特别适用于需要存储大量数据但不需要复杂方法的类。是 Python 3.7 引入的一个装饰器,用于简化数据类的定义。它可以自动为类生成常用的特殊方法,例如。如果希望数据类的实例是不可变的(即实例化后不能修改属性),可以使用参数。函数,可以设置字段的更多选项,例如:是否参与比较、在。等,从而减少样板代码的编写,提高代码的可读性。数据类可以支持继承,子类会继承父类的字段。方法后添加额外的初始化逻辑,可以定义。如果需要在自动生成的。
2025-03-13 17:31:32
386
原创 #Python:packaging模块
packaging 是一个用于处理 Python 包的版本、依赖关系和元数据的工具集。它遵循 PEP 440(Python 的版本号规范),提供了可靠的方法来解析和比较版本号,确保在版本处理时的准确性和一致性。
2025-03-10 14:13:10
808
原创 Qwen2.5-VL 模型配置
所有配置类的基类。:继承自,用于视觉编码器的配置。:继承自,用于整个模型的配置,包括语言模型配置和视觉模型配置(通过包含实现)。:所有配置类的基类,提供基本的配置机制,使模型配置可以序列化、反序列化,并与 Transformers 库的其他组件兼容。:处理视觉部分的配置,包含视觉 Transformer 的相关参数。作为的子配置,也可独立使用。:处理整个模型的配置,包括语言模型和视觉模型的参数,以及高级功能配置,如滑动窗口注意力、RoPE 缩放等。通过属性包含视觉配置。实际应用。
2025-03-07 15:02:02
840
原创 PreTrainedModel 类代码分析:_load_pretrained_model
2. 处理 和磁盘卸载:如果提供了 ,且包含 ,则表示部分权重将卸载到磁盘。如果未指定 且不是 格式,抛出错误,提示需要提供 。创建 ,用于存储卸载到磁盘的权重。设置 为 ,表示状态字典将被卸载。3. 判断是否为分片的 文件:通过 判断当前是否加载的是分片的 文件。4. 绑定共享权重(参数共享):调用 ,确保模型的共享权重正确绑定。5. 获取模型的状态字典和预期的键值:通过 获取模型的状态字典。生成 ,即模型中所有应当存在的参数键列表。6. 处
2025-03-06 16:20:50
1044
原创 PyTorch :梯度详解
本文将详细讲解 PyTorch 中 `torch.Tensor` 的梯度是如何工作的,以及如何使用它来进行自动求导。
2025-03-05 16:39:29
1170
原创 PreTrainedModel 类代码分析:from_pretrained
在使用 Hugging Face Transformers 库加载预训练模型时,核心方法是 **`from_pretrained`**。该方法负责从预训练模型的检查点加载模型配置和权重。
2025-03-02 15:53:48
936
原创 大模型应用:多轮对话(prompt工程)
大型语言模型在新聊天中通过创建新会话、引入系统提示来管理上下文。系统提示设定模型的角色、语气和行为准则,对用户不可见,但影响模型回复。随着对话进行,系统记录消息队列,模型参考该队列生成连贯的回复。由于上下文窗口限制,系统截断早期对话,优先保留系统提示和近期内容,确保模型行为一致。模型只负责生成文本,应用程序负责会话管理、上下文维护等,实现多轮对话并保护用户隐私。示例代码展示了多轮对话的实现方法。
2025-02-27 12:19:25
2225
原创 什么是模型状态字典(state_dict)?
什么是模型状态字典(state_dict)?状态字典和模型权重的区别是什么?.pth 文件和状态字典的关系?
2025-02-25 10:46:56
791
原创 Qwen2_5_VLForConditionalGeneration代码分析
Qwen2_5_VLForConditionalGeneration代码分析
2025-02-24 15:36:24
1481
原创 Qwen-VL传统方法微调
LLaMA Factory 作为一种新兴的微调工具,正在不断发展,提供了一个强大的平台来进行各种类型的大模型微调。它集成了多种模型、训练方法和先进算法,简化了微调过程。那么,是否应该完全转向使用 LLaMA Factory,而放弃之前的微调方法?
2025-02-21 14:40:31
445
原创 Pytorch nn.Module详解
torch.nn.Module 是 PyTorch 中所有神经网络模块的基类,提供了构建神经网络模型的基本框架。通过继承 nn.Module,可以方便地创建自定义的神经网络模块,实现复杂的神经网络结构。下面详细介绍 nn.Module 的核心概念、使用方法和注意事项。
2025-02-19 09:42:34
1045
原创 在 VSCode 中配置远程开发环境查看和调试Python代码
在现代开发中,远程开发已经成为一种常见的工作方式。借助 Visual Studio Code(VSCode)提供的 Remote Development 插件,您可以轻松地通过 SSH 连接到远程服务器,在远程环境中直接编辑和运行代码,而无需离开熟悉的编辑器环境。本文将详细介绍如何在 VSCode 中配置远程开发环境,包括连接远程服务器、配置 SSH、选择远程 Python 解释器,以及在远程环境中进行调试。
2025-02-10 12:17:15
2138
原创 如何学习Transformer架构
本文将探讨Transformer论文《AttentionisAllYouNeed》与HuggingFaceTransformers库之间的关系,并详细介绍如何利用HuggingFaceTransformers的代码深入学习Transformer架构。
2025-01-16 14:22:55
1100
原创 在指定 IP 配置下搭建私有 Docker Registry 与 Kubernetes 集群
随着容器技术的不断发展,Docker 和 Kubernetes 已成为现代应用部署和管理的核心工具。本指南将带您一步步搭建一个包含私有 Docker Registry、Kubernetes 集群(包含 Master 和多个 Worker 节点)的完整容器化环境,同时介绍如何部署应用、配置网络和安全、以及实施监控与管理。
2024-12-23 12:09:52
1310
原创 Kubernetes、Docker 和 Docker Registry 关系是是什么?
Kubernetes(常简称为 k8s)、Docker 和 Docker Registry 是现代云原生应用中三个关键的组件
2024-12-23 12:03:28
1099
原创 在同一NAT下配置Linux机器的SSH免密登录指南(ssh-keygen、ssh-copy-id、主机名解析)
在同一NAT下配置Linux机器SSH免密登录,通过SSH密钥对的设置,实现无密码快速登录。步骤包括安装并启动SSH服务、生成密钥对、将公钥复制到目标机器、设置权限、测试连接等。确保私钥安全和网络可达性,对多台机器重复此过程,提高管理效率。
2024-11-27 16:46:31
778
1
原创 PyTorch 激活函数及非线性变换详解
激活函数是深度学习模型的重要组成部分,它们引入非线性,从而使模型能够更好地拟合复杂的数据模式。本文将详细介绍激活函数的作用、常见类型、经典应用示例,并比较它们的优缺点。
2024-09-17 14:21:17
2024
1
原创 PyTorch 池化层详解
池化层(Pooling Layer)在卷积神经网络(CNN)中是关键组成部分,主要用于降维和减少计算量,增强模型的鲁棒性。池化层包括最大池化(Max Pooling)、平均池化(Average Pooling)和全局池化(Global Pooling)。最大池化通过选取池化窗口内的最大值保留显著特征,平均池化计算窗口内的平均值以减少噪声,全局池化将特征图缩小为单个值以简化模型结构和减少参数。池化层通过降维、特征提取和抑制噪声显著提高了模型的计算效率和鲁棒性。
2024-09-17 13:11:46
1811
原创 注册表模式:使用注册表和装饰器函数的模块化设计
本文探讨了如何使用注册表(Registry)和装饰器函数(Decorator Function)实现模块化设计,提升代码的灵活性和可扩展性。注册表模式集中管理和动态获取模块,通过装饰器函数简化模块注册过程。虽然这种设计模式不是严格意义上的工厂方法(Factory Method),但它们在动态实例化对象方面具有相似之处。工厂方法模式将对象创建延迟到子类,而注册表模式集中管理所有注册类,提供更高的灵活性,适用于动态管理和实例化对象的场景。
2024-09-10 18:08:38
1041
原创 Shell 编程入门
Shell 编程使用 Unix Shell(如 Bash、Zsh 等)编写脚本来自动化执行命令,广泛应用于系统管理、批处理任务和自动化部署。本文介绍了 Shell 编程的基本结构,包括 Shebang 行、注释、变量、控制结构和函数。通过示例代码展示了如何定义和使用变量、条件语句、循环语句和函数。文章还详细介绍了 echo 和 read 命令,以及 grep、awk 和 sed 这三个强大的文本处理工具,并提供了结合使用这些工具的实际应用示例,帮助读者更好地理解和应用 Shell 编程技术。
2024-09-10 12:12:47
1091
原创 Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录
本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 `resume` 功能继续训练,并将我们复现的模型与Model Zoo中的模型进行比较。
2024-09-08 04:49:16
1854
Attention is All You Need(代码实现)代码
2025-02-17
在自定义数据集上训练现有的Detectron2模型
2024-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人