- 博客(118)
- 收藏
- 关注
原创 AUC与Accuracy的区别
• 为什么:举个例子,如果正类仅占总体的5%,负类占95%,一个总是预测全为负类的模型也能获得95%的准确率,但这样的模型根本不能发现正样本。而 AUC 评估的是模型将正负样本打分的排序表现,即正样本的分数往往高于负样本的概率,这样的指标能更客观地评价模型识别少数类的能力。• 为什么:由于 AUC 是对 ROC 曲线所有可能阈值下的 TPR 和 FPR 组合进行综合衡量的,所以它不依赖于某个特定的阈值,而是衡量模型对正负样本的整体区分能力。– 衡量的是模型所有预测中,正确预测的比例。
2025-05-20 17:38:59
349
原创 getattr 的作用
它不仅使代码具有更高的灵活性和通用性,而且在实际开发中,尤其是构建通用框架或工具中,起到了很大的作用。**它允许你在运行时通过属性名称(字符串形式)来访问对象的属性,而不用在代码中直接硬编码属性名。default(可选):如果对象中不存在该属性时返回的默认值。例如,一个通用的工具函数需要根据传入的字符串参数获取对象对应的属性。print(getattr(p, “age”, 25)) # 输出:25 (因为 p 没有 age 属性,所以返回默认值)object:你要获取属性的对象(例如实例、模块、类等);
2025-04-30 20:13:03
327
原创 model.load_state_dict 无法load huggingface保存的safetensor文件
【代码】model.load_state_dict 无法load huggingface保存的safetensor文件。
2025-04-27 17:34:20
111
原创 tokenizer的用法
可以基于现有 tokenizer 进行修改,如添加自定义的 token(tokenizer.add_tokens([“新词”])),从而扩展词汇表,此时可调用 tokenizer.resize_token_embeddings(model) 更新模型嵌入层。]},有时还会包含其他信息比如 “token_type_ids”、“offset_mapping”(用于对齐)等。• return_tensors: 指定返回类型,如 “pt”(PyTorch tensor)、“tf” 或 “np”(NumPy 数组)
2025-04-25 14:17:35
912
原创 json库的用法
如果文件中包含多个 JSON 对象(例如每行一个 JSON 对象,也就是所谓的 JSON Lines 格式),直接使用 json.load() 就会抛出错误(如 “Extra data”)。总结来说,json 库提供了一整套简单易用的 API,无论是在将 Python 对象转换为 JSON 存储,还是从 JSON 文件中读取数据转化为 Python 对象,都能很好地满足常见需求。常用于将数据保存到文件中。• 编码(Serialization):将 Python 对象转化为 JSON 格式的字符串。
2025-04-25 10:46:43
629
原创 python中 zip的用法
是一个Python内置函数,用于将多个可迭代对象(如列表、元组等)打包成一个个元组,并返回一个可迭代的zip对象。函数非常有用,它可以帮助你将多个可迭代对象中的元素按顺序打包成一个个元组,方便后续的处理。
2025-04-23 21:09:00
324
原创 EmbeddingBag介绍与案例
假设我们的用户特征包括 “item_id” 和 “cate_id” 两个字段,每个字段都有各自的离散取值,也就是一些整数 ID。例如,假设我们给 “item_id” 构建了一个嵌入表,维度设为 64,即每个商品 ID 对应一个 64 维的向量;总的来说,EmbeddingBagCollection 在这里的角色就是作为一个“离散到连续”的编码器,它将原始的用户特征数据转换成适合神经网络处理的向量表示,进而为后续的用户行为建模提供输入。同样对于 “cate_id” 特征,也会获得一个 64 维的向量表示。
2025-04-17 12:30:20
369
原创 python位运算
操作符号说明按位与x & 1按位或按位异或取消重复项,或者交换两个数取反反转所有位(注意符号)左移<<乘2的幂右移>>除2的幂。
2025-04-06 17:07:04
296
原创 量化方法分类
PTQ 是指在模型训练完成后,直接对其参数(权重和激活值)进行量化处理,不再参与额外训练。方面静态量化动态量化激活值处理使用校准集离线计算参数实时根据输入动态计算精度稍低更高计算开销更低,推理快略高,推理需实时计算应用场景移动端、嵌入式设备等LLM、对话系统等复杂模型QAT 是在训练/微调阶段,就引入“伪量化”模块,让模型提前“感知”量化所带来的误差,从而学习对这种误差的鲁棒性。方法类型是否需要重新训练精度表现实施难度适用位宽典型应用PTQ(静态)否中等简单。
2025-04-01 18:19:36
1157
原创 量化中的“校准”
简要定义项目说明定义校准是量化前确定“最佳数值范围”的过程目的最大程度保留有用信息、减少误差方法手动设置、MSE、KL散度、百分位截断适用对象权重(静态)和激活值(动态)都需要校准本质平衡保真度 vs 存储效率的一种策略。
2025-04-01 17:30:12
470
原创 GGUF 和 llama.cpp 是什么关系
项目作用与对方的关系llama.cpp推理引擎,用于加载和运行模型负责读取 GGUF 文件并执行推理GGUF模型文件格式,包含结构、参数、量化信息等供 llama.cpp 使用,是其默认支持的模型格式GGUF 是 llama.cpp 推理引擎所使用的模型格式标准,二者是“格式 + 引擎”的关系。GGUF 让模型易于存储和交换,llama.cpp 负责高效读取并运行它。需要我画个图或者提供 GGUF 文件结构示意、或者量化模型转 GGUF 的示例代码,也可以说一声!
2025-03-22 21:56:33
1147
原创 python中的多进程方式
方式类型是否绕过 GIL适合场景threading多线程否IO 密集多进程是CPU 密集asyncio协程否高并发 IO 密集线程/进程池线程否,进程是通用封装joblibraydask第三方库取决于实现任务分布/大规模数据如果你愿意,可以告诉我你具体的任务场景,我可以帮你推荐最合适的并行方式。
2025-03-21 12:57:10
356
原创 python深拷贝和浅拷贝
并不会创建新的对象,而是创建一个新的引用指向原对象。因此,修改新的引用会影响原对象。(指针),而非数据本身。因此,Python 的参数传递是。是 Python 编程中非常重要的概念。Python 变量的赋值、参数传递,以及。(可变对象会被修改,不可变对象不会修改)来讲解,并给出示例帮助你理解。,保证新对象和原对象完全独立。在 Python 中,赋值。(但有时表现得像值传递)。Python 变量分为。,所有变量实际上存的是。,不复制内部嵌套对象。
2025-03-19 12:47:21
700
原创 python:dict常见用法
是 Python 中最常用的数据结构之一,存储。的用法还有什么疑问吗?不存在,会插入默认值。复杂度的哈希表查找。
2025-03-19 10:31:18
459
1
原创 为什么自下而上建堆复杂度O(n)而自下而上建堆复杂度高
T(n) = \sum_{h=0}^{\log n} \left( \text{该层的节点数} \times \text{该层的最大调整次数} \right)自下而上建堆,每次都从下往上一排一排的调根节点,每个根节点最大往下调h次(小于logn)。而自下而上每次最大调logn。要理解这个问题,我们需要分析两种方法的操作方式和涉及的计算次数。,比 ( O(n \log n) ) 更优。
2025-03-16 13:50:11
619
原创 python: range 与 如何倒排序
在 Python 中,倒序遍历数组(即从数组的最后一个元素到第一个元素)有多种方式,下面逐一介绍。是 Python 中用于生成数列的内置函数,常用于。是 Python 提供的内置函数,可以直接。,用于找到第 K 大的元素。
2025-03-15 10:42:19
396
原创 Hugging Face load_dataset 方法使用
是 Hugging Facedatasets库中最常用的函数之一,它支持从 Hugging Face Hub 或本地加载各种格式的数据集(如 CSV、JSON、Parquet、SQL、文本等)。以下是。
2025-03-12 13:55:41
523
原创 On-Policy 与 Off-Policy 的区别
假设我们正在训练一个机器人让它学会走路,我们使用。,否则梯度估计会偏差,导致学习不稳定。(经验池中的数据可能是旧策略产生的)。(如自适应机器人、游戏 AI)。(如 Atari 游戏、围棋)。,每次训练完就要丢弃旧数据。
2025-03-08 16:48:55
781
原创 python机试2:语言基础
Python 的语言基础涵盖了数据类型、基本语法、函数式编程、面向对象编程以及异常处理等多个方面。Python 内置了多种数据类型和数据结构,每种都有特定的用途。熟练掌握这些内容,可以应对 LeetCode 和各种编程挑战!Python 的基本语法涉及控制流、表达式、循环等。Python 提供了一些常用的数据结构,如。
2025-03-08 13:59:36
555
原创 python机试1:读取和输出数据
读取和输出数据在 LeetCode 和机试中也是很重要的基础。你需要掌握 文件读取、输入处理、输出优化,才能应对不同类型的题目和考试环境。以下是详细的知识点:机试中,很多题目要求从标准输入 读取数据,通常使用:常见场景:读取一行多个整数读取多行输入读取二维列表(矩阵)✅ Python 标准输出 基本用法:多变量输出(默认空格分隔)格式化输出换行控制2. 高效读取 & 写入(sys.stdin & sys.stdout)在机试中, 在大数据情况下 读取速度慢,可以使用
2025-03-08 13:50:51
574
原创 tokenizer.apply_chat_template 用法
是 Hugging Face Transformers 库中的一个方法,用于将一系列聊天消息格式化为模型所需的输入字符串。方法的主要作用是确保输入格式与模型训练时的格式一致。这对于模型的性能至关重要,因为不一致的输入格式可能导致性能下降。属性,将聊天消息格式化为模型所需的输入格式,以确保模型能够正确理解和处理输入的聊天内容。需要注意的是,在较新的 Transformers 版本中,属性,将上述聊天记录格式化为模型期望的字符串格式。请注意,实际的输出格式取决于模型的。方法的作用是根据模型的。
2025-03-06 15:33:58
1814
原创 GPRO详解
在 GPRO(Group Relative Policy Optimization)训练过程中,奖励评估的核心在于,而是基于进行优化。GPRO 通过,避免了单独训练奖励模型的需求,使其在强化学习阶段更加高效、稳定。与 PPO 和 DPO 相比,它在计算效率、训练稳定性和数据需求上都有优势,特别适合需要推理能力的大模型训练(如 DeepSeek R1)。
2025-03-06 13:10:37
1087
原创 pdfplumber 解析 PDF 表格的原理
(geometric analysis),它通过分析 PDF 页面中的。(如 Excel 转换的 PDF),可以使用。
2025-03-05 13:56:57
1408
原创 LangChain Agent 使用方法详解
是一个可以动态决策并执行任务的智能系统,能够调用工具(如搜索引擎、数据库、计算工具等),并结合大模型(LLM)进行推理和决策。相比于传统的 LLM 直接回答问题,决定了代理的决策模式。✅ 适用于插件系统,如 OpenAI Plugins。:创建一个 Agent,专门用于搜索最新的网络信息。一个 LangChain Agent 通常由以下。在 LangChain 中,在某些情况下,我们可以使用。✅ 需要严格控制工具调用方式。
2025-03-05 12:36:03
944
原创 langchain的html网页处理方法 AsyncHtmlLoader 和 Html2TextTransformer
方便后续的大模型(LLM)处理。下面我们详细介绍它们的。是两个常用的 Web 数据处理工具,主要用于。的纯文本,便于后续文本处理或 LLM 解析。,更适合大语言模型(LLM)处理!是 LangChain 提供的一个。希望这些详细解析能帮助你更好地理解。在 LangChain 中,,比传统的同步请求方式(如。多个 HTML 文档,生成。
2025-03-05 12:32:31
667
原创 selenium库工作原理
是一个用于 Web 自动化测试的 Python 库,支持与各种浏览器(如 Chrome、Firefox)交互,主要用于自动化测试、爬虫等任务。Selenium 允许执行 JavaScript 代码,比如滚动页面、点击按钮等。进行 CSDN 文章的自动发布。在一些操作后,为了防止网页未完全加载,可能需要手动。用于配置浏览器选项,例如禁用弹窗、无头模式等。或者按钮时,我们可能需要遍历多个元素。的核心模块,提供控制浏览器的能力。用于选择网页元素,提供多种查找方式。内,因此需要先切换到。及其相关模块的作用。
2025-03-05 11:08:16
1175
原创 如何解决Deepseek“服务器繁忙“问题
避免Deepseek服务器繁忙卡顿!零成本畅享最强AI!手把手教你用硅基流动解锁DeepSeek-R1满血版
2025-02-06 09:37:13
604
原创 平方欧几里得距离(Squared Euclidean Distance) 和 L2 距离(欧几里得距离,Euclidean Distance)
这里梯度不会因为平方根的影响而变小,梯度的大小只与点的间距成线性关系。当 ( A ) 和 ( B ) 相距较远时,分母变大,导致梯度变小。的主要区别在于它们的计算公式、梯度特性以及在深度学习中的应用。,如果你的训练过程中梯度更新不稳定,可能会收敛较慢,可以考虑。PyTorch 默认。
2025-02-05 21:38:42
1241
原创 .strip()用法
会删除字符串两端的所有反引号()直到遇到其他字符为止。这个方法只会影响两端的字符,而不会去除字符串内部的反引号。如果反引号在字符串的中间部分,strip()不会有任何作用。希望这个解释清晰!如果你有任何问题,随时告诉我。如果你想使用strip()去除多个不同的符号,可以通过传递一个字符集(字符串)作为chars参数来实现。strip()会从字符串的两端删除字符集中的所有字符,直到遇到其他字符为止。strip()可以接受一个包含多个字符的字符串作为参数,去除字符串两端的这些符号。只要符号在两端,
2025-01-26 22:22:55
1348
原创 python中的元组
不可变数据:需要存储不会更改的数据。字典键:作为字典的键,因其不可变性。解包:方便进行多重赋值。函数返回值:便于返回多个值。性能优化:比列表更节省内存,访问速度更快。由于其不可变性和存储紧凑的特性,元组是一个非常实用的数据类型,特别是在需要存储不变数据的场景中。
2025-01-25 13:37:24
575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人