- 博客(227)
- 收藏
- 关注
原创 循环神经网络(RNN):为什么它能处理时序数据?它真的能减轻过拟合吗?
本文解析了循环神经网络(RNN)处理时序数据的原理及其与过拟合的关系。RNN通过隐藏状态的循环连接记忆历史信息,克服了传统前馈神经网络无法建模时序依赖的缺陷,适用于文本、语音、时间序列预测等场景。虽然RNN能更好地利用数据结构信息,但减轻过拟合仍需依赖正则化等技术。RNN的核心价值在于捕捉时序特征,而非专门解决过拟合问题。
2025-05-30 21:25:11
261
1
原创 【一篇博客顶一本书&AI对话中学习】从零带你学习RNN到seq2seq再到大模型transfomer的底层
本文通过对话形式介绍了隐马尔可夫模型(HMM)、RNN模型、seq2seq模型、带注意力机制的seq2seq模型的基本概念和应用。
2025-05-30 19:57:42
701
1
原创 【部署满血DeepSeek】使用vllm部署和测试DeepSeek-V3模型性能对比
本文记录了使用vllm部署和测试DeepSeek-V3模型不同量化版本的过程,并对比了其性能。我们部署了DeepSeek-V3-awq和DeepSeek-V3-Int4-Sym-GPTQ-Inc两种量化模型,并通过vllm自带的benchmark工具进行了性能测试。测试结果显示,DeepSeek-V3-Int4-Sym-GPTQ-Inc模型的生成速度约为10token/s,而DeepSeek-V3-awq模型的生成速度约为5token/s。两种量化技术在模型大小、计算效率和精度方面各有优劣,适用于不同的应用
2025-05-11 00:30:00
781
5
原创 构建个性化知识库:RAG技术与大模型的完美融合
RAG(检索增强生成)技术通过将外部知识库与大语言模型结合,解决了模型在特定领域知识不足的问题。与模型微调不同,RAG在回答问题时实时检索相关知识,结合上下文生成更准确的答案。其核心步骤包括检索、增强和生成,其中Embedding模型负责将文本转化为语义向量,计算相似度。开源实现方案如RAGFlow和Ollama提供了便捷的部署方式,用户可构建个性化知识库并进行智能问答。RAG技术在问答准确性上有显著提升,适用于企业知识库、客户服务、研究辅助等多种场景。随着技术发展,RAG系统将变得更加智能高效,为AI应用
2025-05-11 00:30:00
1028
1
原创 【部署满血Deepseek-R1/V3】大型语言模型部署实战:多机多卡DeepSeek-R1配置指南
本文详细介绍了大型语言模型DeepSeek-R1的多机多卡部署实践,重点包括硬件资源配置、性能优化、Docker部署指令模板以及高级优化配置。通过使用H100或H800显卡,每两台机器部署一个模型,可实现约20 token/s的吞吐量。文章还提供了性能数据参考,展示了不同输入长度和并发请求下的表现。此外,介绍了SG-Lang多机多卡部署的关键优化参数、内存管理策略、推测解码优化和网络优化方法。最后,对比了vLLM、ktransformers和Unsloth等其他推理架构,并提供了常见问题的解决方案和镜像管理
2025-05-10 12:12:15
1663
4
原创 阿里云内容安全服务实战:Python工具开发指南
本文介绍了如何基于阿里云内容安全增强版API开发一个Python工具,用于实现文本和图片的智能审核功能。工具具备多模态内容审核、高可用路由机制、丰富的服务类型和简单易用的接口等特点。文章详细说明了环境准备步骤,并提供了文本审核和图片审核的核心代码实现。通过该工具,开发者可以快速集成内容安全功能,确保平台内容的合规性。
2025-05-10 12:08:08
381
2
原创 5 大 AI 编程思维与 9 个最佳实践建议
在 AI 编程时代,开发者的价值不再停留于「会写代码」;而是能定义问题、选择策略、验证成果。唯有转变思维、抱持批判与学习精神,才能真正驾驭 AI,成为策略制定者+品质守门人,让 Vibe Coding 成为日常。立即行动:选一个小功能,按本文方法用 AI 重构,体验新工作流的爆发力吧!
2025-05-06 09:28:08
836
原创 linux挂载磁盘的方法
这样,你就完成了挂载操作,并确保它在系统重启后也能自动挂载。如果你有其他磁盘需要挂载,可以按照相同的方式进行。这个磁盘,你需要首先格式化它(假设还没有格式化过)。为了确保重启后磁盘能够自动挂载,需要将磁盘信息写入。如果没有报错,就说明挂载成功。命令可以看到所有磁盘及其分区情况。等磁盘目前没有被挂载(没有显示在。上创建一个 ext4 文件系统。命令检查磁盘是否已挂载到。你可以创建一个目录(例如。然后你可以将磁盘挂载到。
2025-05-06 08:54:01
217
原创 # LeetCode 1007 行相等的最少多米诺旋转
看到“让整行相等”这类题,第一步先想 “候选值能否极度缩小本题直接锁定两种数字。写多分支判断时务必小心索引 vs 整体,这是数组题最易犯的错。当循环里一旦出现判定失败条件,应及时return,不要让无效结果继续污染后续逻辑。By @迪小莫学AI。
2025-05-03 21:23:14
580
原创 蓝桥杯赛场反思:技术与心态的双重修炼
在刚刚结束的第十六届蓝桥杯大赛软件赛省赛第二场中,我经历了一场充满挑战与自我审视的旅程。走出赛场,内心既有些许成就感,也夹杂着对自身不足的深刻反思。这次比赛不仅是一次技术的较量,更是一场心态的博弈,它让我明白,要想在这条编程之路上走得更远,技术的精进与心态的调整缺一不可。
2025-04-26 13:17:37
601
原创 第十六届蓝桥杯大赛软件赛省赛第二场
大家好。最近参加了第十六届蓝桥杯大赛软件赛省赛第二场 Python 大学 B 组的比赛,现在来和大家分享一下我的解题思路和代码实现。以下内容是我自己写的,可能对也可能错,欢迎大家交流讨论。
2025-04-26 13:12:25
1723
3
原创 深度探索多模态数据:从声音到图像的奇妙世界
在多模态深度学习的旅程中,我们不仅要了解不同数据形式的融合策略,还需要熟悉各种数据类型的特性。今天,我们将探索两种常见但极具价值的模态:音频数据和医学CT扫描。
2025-04-25 17:20:32
1091
原创 多模态深度学习: 从基础到实践
多模态学习涉及处理和整合来自不同来源(模态)的数据,如图像、文本、声音或传感器数据。每种模态都提供不同的信息,结合起来可以创建更强大、更全面的模型。
2025-04-25 17:18:24
632
原创 【超详细版】CLIP(Contrastive Language-Image Pre-Training)模型概述
CLIP(对比语言-图像预训练)是一种多模态学习模型,旨在通过对大量的图像和文本数据进行联合训练,理解图像和文本之间的关系。CLIP 是由 OpenAI 提出的,通过对图像和文本数据的联合学习,CLIP 能够对视觉内容进行语言描述,同时也能够通过自然语言查询来理解图像内容。这种方式使得 CLIP 模型在多个视觉任务上表现出色。
2025-04-24 14:03:08
940
原创 大模型预训练技术解析
大模型的发展离不开数据、计算量和技术的结合。自研预训练模型不仅有助于更好地掌控模型细节,还能为领域专用模型的开发奠定基础。未来,随着技术的发展和数据的积累,大模型的能力将进一步提升。
2025-04-21 16:43:01
828
原创 统计隐藏数组数目 - 通过前缀和与差值问题
在解决这一问题时,前缀和方法是更加高效的解决方案,它利用差值数组的前缀和特性,减少了计算的复杂度。暴力解法虽然简单易懂,但在时间复杂度上不够优秀,尤其在输入数据量较大时,效率较低。根据具体情况,我们可以选择不同的算法来解决问题。
2025-04-21 12:07:40
337
原创 好数对的数目
这道题目要求我们找出满足 nums[i] == nums[j] 且 i < j 的所有数对。对于每个出现过的数,我们可以利用哈希表来统计它出现的次数,然后通过组合的方式计算好数对的数量。如果一组数字 (i, j) 满足 nums[i] == nums[j] 且 i < j,就可以认为这是一组 好数对。有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5),下标从 0 开始。输入:nums = [1,2,3,1,1,3]输入:nums = [1,1,1,1]返回 好数对 的数目。
2025-04-19 00:15:00
375
1
原创 统计坏数对的数目
nums[j] - nums[i] 的数对 (i, j)。实际上,我们可以通过观察发现 x - i 是一个关键的值,对于每个数对 (i, j),x - i 会在遍历时重复出现。= nums[j] - nums[i],那么我们称 (i, j) 是一个 坏数对。计算总组合数:ans = comb(len(nums), 2) 计算从 len(nums) 个元素中选取 2 个元素的组合数。数对 (1, 2) 是坏数对,因为 2 - 1!= 3 - 1,1!数对 (2, 3) 是坏数对,因为 3 - 2!
2025-04-18 09:03:02
290
原创 使用清华源安装 Python 包并配置镜像:全方位教程
使用清华源安装 Python 包可以显著提高包下载速度,尤其适合在中国大陆的用户。通过配置pip使用清华源或其他国内镜像源,您可以轻松地管理 Python 项目的依赖。常见的包安装方法包括从安装、指定版本安装、从 Git 仓库安装等。掌握这些方法,将有助于您更高效地管理 Python 环境。
2025-04-18 08:00:00
2241
原创 在 Linux 服务器上安装 Conda 环境(零基础小白教程)
本文详细介绍了如何在 Linux 服务器上安装 Miniconda,并解决了在安装过程中可能遇到的一些常见问题。从下载和安装到配置环境,我们一步一步地帮助你完成了 Conda 环境的搭建。希望这篇教程能帮助你更轻松地在 Linux 环境下配置 Conda,为后续的 Python 项目开发奠定基础。
2025-04-17 13:53:56
901
原创 72. 编辑距离(Edit Distance)详细题解
设dfs(i, j)表示将s[0:i]转换为t[0:j]所需的最小操作数。题目方法时间复杂度空间复杂度交错字符串记忆化DFS / DPO(n·m)O(n·m)编辑距离记忆化DFS / DPO(n·m)
2025-04-14 14:03:59
406
原创 416. 分割等和子集
输入:nums = [1, 5, 11, 5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11]。综合起来:dp[i][j] = dp[i-1][j] or dp[i-1][j - nums[i-1]]如果 j >= nums[i],选第 i 个元素:dfs(i - 1, j - nums[i])如果选第 i 个元素:dp[i][j] = dp[i-1][j - nums[i-1]]如果不选第 i 个元素:dp[i][j] = dp[i-1][j]方法二:DFS + 记忆化搜索。
2025-04-07 11:18:09
429
原创 LeetCode 2874. 有序三元组中的最大值 II - 题解与优化
我们需要计算所有 (i, j, k) 满足 i < j < k 的 (nums[i] - nums[j]) * nums[k],要求找出最大值。给你一个下标从 0 开始的整数数组 nums,请你从所有满足 i < j < k 的下标三元组 (i, j, k) 中,找出并返回下标三元组的最大值。(diff) * nums[k],其中 diff = nums[i] - nums[j][1,10,3,4,19] 133 (1,2,4) 最大。[12,6,1,2,7] 77 (0,2,4) 最大。
2025-04-07 11:17:23
292
原创 [特殊字符] LeetCode 1123. 最深叶节点的最近公共祖先 | DFS后序遍历题解
给你一棵二叉树,返回。35 1/| |6 2 0 87 4python复制编辑最深叶子节点是 7 和 4,它们的最近公共祖先是节点 2。
2025-04-06 13:10:50
354
原创 LeetCode 1863. 找出所有子集的异或总和再求和
给定一个数组nums,我们要找到所有子集的异或总和,并返回这些总和的。示例:输入: nums = [1,3] 输出: 6 解释: 子集有 [], [1], [3], [1,3] 异或值分别为 0, 1, 3, 1^3=2 总和为 0+1+3+2 = 6python复制编辑。
2025-04-06 13:10:13
274
原创 # LeetCode 2140: 解决智力问题
这道题是一个经典的动态规划问题,关键在于理解每个问题有两个选择(解决或跳过),并且找出状态转移关系。无论是使用自顶向下的记忆化搜索,还是自底向上的动态规划,都能有效地解决这个问题。记忆化搜索的方法更加直观,而传统动态规划的方法在某些情况下可能更加高效。两种方法的时间复杂度和空间复杂度相同,都是 O(n)。博客已创建成功!这篇文章详细解析了力扣第2140题"解决智力问题",包含以下内容:- 题目描述和示例- 两种解题方法:记忆化搜索和动态规划- 时间复杂度和空间复杂度分析- 总结与比较。
2025-04-01 09:00:23
323
原创 解题思路:LeetCode 2711. 对角线上不同值的数量差
通过预处理对角线上的不同值数量,我们可以显著减少重复计算,从而优化算法的时间复杂度。优化后的算法在处理大规模矩阵时更加高效,同时保持了代码的简洁性。希望这篇博客能帮助你更好地理解和解决这个问题。
2025-03-25 10:24:06
292
原创 LeetCode 2711:对角线上不同值的数量差解题思路与优化方法
通过预处理对角线上的不同值数量,我们可以显著减少重复计算,从而优化算法的时间复杂度。优化后的算法在处理大规模矩阵时更加高效,同时保持了代码的简洁性。希望这篇博客能帮助你更好地理解和解决这个问题。
2025-03-25 09:09:10
509
原创 LeetCode 1092:最短公共超序列
从朴素递归到记忆化搜索,再到动态规划,我们逐步优化了时间和空间复杂度。这道题的关键在于理解子问题递归关系,并通过 DP 高效构造答案。希望这篇博客能帮助你掌握双序列动态规划的思考过程!
2025-03-24 13:46:13
979
原创 LeetCode 2255:统计是给定字符串前缀的字符串数目
是一道简单题。题目要求我们在一个字符串数组words中,统计有多少个字符串是给定字符串s的前缀。
2025-03-24 13:45:33
578
原创 2680. 最大或值
本题主要利用了位运算和前后缀分解预处理技巧,实现高效的计算。贪心思想确保了算法的正确性,前后缀技巧保证了算法高效性。类似的前后缀处理技巧在很多场景下都非常有用,值得掌握。掌握以上方法后,可尝试进一步优化,如实现空间复杂度为O(1)的算法,以更深刻理解此题。
2025-03-21 10:44:37
340
原创 LeetCode 2610. 转换二维数组
本题的关键在于如何通过Counter统计每个数字的频次,然后通过动态构建每一行来满足题目要求。通过不断选择可以放置在同一行的不同元素,我们可以实现尽可能少的行数,从而得到一个符合条件的二维数组。
2025-03-19 14:10:35
562
原创 LeetCode 1105. 填充书架
本题的关键在于动态规划的设计,如何利用dp[i]记录前i本书的最小高度,并通过状态转移更新最优解。通过不断尝试不同的层数和放置方式,可以得到最小的书架高度。
2025-03-19 14:08:53
347
原创 最大整除子集
整除子集是指子集中的每一对 (i, j) 满足 nums[i] % nums[j] == 0 或 nums[j] % nums[i] == 0。给定一个字符串 s,计算该字符串的分数,定义为相邻字符的 ASCII 码差值的绝对值之和。动态规划:我们维护一个 f 数组,表示以 nums[i] 作为结尾的最大整除子集的大小,并通过 g 数组记录每个元素的前驱索引。回溯:遍历 f 数组,找到最大的子集长度,并通过 g 数组回溯得到子集的元素。时间复杂度:O(n),其中 n 是字符串的长度,遍历一次字符串即可。
2025-03-15 13:34:58
335
原创 动态规划与字符串处理
整除子集是指子集中的每一对 (i, j) 满足 nums[i] % nums[j] == 0 或 nums[j] % nums[i] == 0。给定一个字符串 s,计算该字符串的分数,定义为相邻字符的 ASCII 码差值的绝对值之和。动态规划:我们维护一个 f 数组,表示以 nums[i] 作为结尾的最大整除子集的大小,并通过 g 数组记录每个元素的前驱索引。回溯:遍历 f 数组,找到最大的子集长度,并通过 g 数组回溯得到子集的元素。时间复杂度:O(n),其中 n 是字符串的长度,遍历一次字符串即可。
2025-03-15 13:33:19
651
原创 深入理解 RESTful API 设计与实践
首先,需要明确 API 中的资源。用户(User)文章(Article)评论(Comment)RESTful API 是一种基于 HTTP 的架构风格,提供清晰的资源 URL和HTTP 方法进行交互。设计 RESTful API 时应遵循 REST 原则,包括资源、统一接口、无状态、可缓存、分层架构。API 需要保证安全性,使用身份验证、权限控制和 HTTPS。RESTful API 广泛应用于 Web 开发、移动开发、微服务架构。
2025-03-14 09:26:59
909
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人