- 博客(86)
- 收藏
- 关注
原创 缩放点积注意力机制完整计算过程举例与详解
摘要:文章介绍了注意力机制的起源及其核心计算过程。注意力机制源于人类视觉处理信息的选择性特征,其中缩放点积注意力是最基础的形式,包含Query、Key、Value三个核心变量。通过将词语映射为向量后,先计算Query和Key的点积得到原始权重,再经过缩放和softmax处理得到最终注意力权重,最后与Value计算输出结果。当扩展到多查询和多维度情况时,输入的Q和V分别扩展为[N,3]和[3,M]维度,最终输出维度为[N,M]。整个过程通过点积计算语义相似度,并通过缩放优化权重分布。
2025-11-10 10:56:01
335
原创 解决IEEE conference模板引用报错
IEEEconference模板引用格式可能与natbib包冲突,建议删除\usepackage[numbers]{natbib}。如需[1]形式引用,只需加载\usepackage{cite}并使用\cite{rf1}命令。该解决方案可解决引用失败问题。
2025-11-04 09:45:09
179
原创 Verilog-Eval-v1基准测试集搭建指南
本文记录了搭建Verilog-eval项目的完整流程。首先通过git克隆项目并切换到1.0.0版本;其次创建conda环境并安装依赖包;然后详细说明了iverilog的安装步骤;最后指出了可能出现的import路径问题及解决方法,包括修改py文件中的导入路径和复制data文件夹。文章提供了从环境搭建到项目调试的完整指南,特别强调了安装过程中可能遇到的问题及解决方案。
2025-11-03 14:45:54
316
原创 解决CUDA kernel errors might be asynchronously reported at some other API call。。。
再进一步根据报错信息解决。
2025-04-08 15:20:24
336
原创 解决FileNotFoundError: [Errno 2] No such file or directory: ‘:/usr/local/cuda-11.8/bin/nvcc‘
【代码】解决FileNotFoundError: [Errno 2] No such file or directory: ‘:/usr/local/cuda-11.8/bin/nvcc‘
2025-04-08 15:13:06
442
原创 从零开始的LeetCode刷题日记:128. 最长连续序列
如果这道题用排序的方法,那么就比较简单,只需要在排序之后便利整个数组,当找到有比当前索引元素值小1的数则插入<nums[i], iter->second + 1>。否则插入<nums[i], 1>。不使用排序的方法需要先对vector进行去重,然后选择性地对数组中元素进行遍历统计:只有当没有前置元素的时候,才进行向后遍历,统计连续序列长度。这道题要求时间复杂度是O(n),这就告诉我们不能用排序的方法来做。
2025-03-24 14:11:10
405
原创 从零开始的LeetCode刷题日记:70. 爬楼梯
这道题重点是读懂题意,其实从第三阶楼梯开始往后的楼梯都可以从它的下面一阶和二阶的楼梯登上来,因此只要将登上这两阶楼梯的方法相加就是登上第三阶楼梯的方法数了!其实就是翻版的斐波那契数列,dp[2] = 2;
2024-12-06 16:48:15
260
原创 从零开始的LeetCode刷题日记:0-1背包问题
首先是原汁原味的纯0-1背包问题,即每个物品都只有一个,求固定容量背包的最大价值。然后是一系列物品价值与重量相等的问题,求能否装满这个背包。其次是求有多少种拿法能够装满背包。最后是物品有多个重量指标下背包装满的最大价值。
2024-11-27 14:25:02
1250
原创 从零开始的LeetCode刷题日记:746. 使用最小花费爬楼梯
2.然后是递归公式,这里的递归公式就不是简单加减了,我们需要找到到达这层楼梯的最小开销,也就是说我们要比较前一层和前两层楼梯哪个到达本层的开销更小,我们选择开销小的。1.首先是dp数组及其下标的含义,dp记录了每层楼梯对应的爬的方法,每个下标存储每个对应楼层。3.dp数组初始化就把第0层初始化为0,第1层为0。4.遍历顺序是从前往后。5.具体推导出来没问题。这道题还是动规五部曲。
2024-11-05 21:34:20
307
原创 从零开始的LeetCode刷题日记:70. 爬楼梯
2.然后是递归公式,其实每一层楼都是可以从下面一层和下面两层爬上来,所以其实就是dp[i] = dp[i - 1] + dp[i - 2]。1.首先是dp数组及其下标的含义,dp记录了每层楼梯对应的爬的方法,每个下标存储每个对应楼层。3.dp数组初始化就把第一层初始化为1,第二层为2。5.具体推导出来没问题,就是斐波那契!4.遍历顺序是从前往后。这道题还是动规五部曲。
2024-11-05 21:03:29
293
原创 从零开始的LeetCode刷题日记:35. 分发糖果
这道题的核心思想是分而治之!如果一开始就想着同时考虑一个小朋友的两边,那么很容易顾此失彼。我们可以先从前往后来确保这个方向的糖果数是符合题意的,然后再从后往前比较一次来确保另一个方向也符合题意,最后二者取最大值就同时满足了两边的需求。这里要注意的是,从前往后遍历的时候,比较的是i+1是否大于i,因为这有这样才能用到前面遍历得到的结果,逐步累加。同理,从后往前遍历比较的是i-1是否大于i。
2024-10-26 13:34:02
250
原创 Java面向对象编程技术
假设传进一个对象p:1)在函数中让p=null不会影响实参,因为这等于改变了别名指向的地址,没有改变其他别名和对象。答:如果创建一个int类变量,每次创建就+1,会导致这个变量独立于对象,维护困难且无法封装!概念引入:如果想用简单的重载来实现一个不同动物的喂食函数,那么就要为每一种动物都重载一个 feed() 函数,代码复用性极差!规则是只能放在最后一个形参上,可以直接接受一个数组,且一个函数只能有一个可变参数。Object类是所有类的父类,所有的类都能够调用Object类的非私有方法。
2024-10-25 21:38:57
1341
原创 从零开始的LeetCode刷题日记:134. 加油站
这道题目和股票的思路有相似之处,需要得到“净值”。我们首先把每一个加油站的油减去到下一个加油站的耗油量,得到剩余油量。那么我们从某个节点开始遍历,一路加每个加油站的剩余油量,当遇到车的油箱为负数的时候说明这个节点不能作为出发点。这道题目可以解环来做,也可以利用while来循环。
2024-10-24 21:02:03
288
原创 从零开始的LeetCode刷题日记:1005. K 次取反后最大化的数组和
这道题目的思路非常清楚,我们要尽量吧绝对值大的负数变成正数,如果全部负数成正数了,那么我们就要对剩余的k进行求余运算,如果得1我们就把绝对值最小的正数变成负数即可。
2024-10-24 20:23:45
309
原创 从零开始的LeetCode刷题日记:45.跳跃游戏 II
这道题相对于跳跃游戏的区别在于还要用最小的步数来达到终点。(其实就是选择到了最优的跳跃节点)。
2024-10-24 19:51:54
361
原创 从零开始的LeetCode刷题日记:55. 跳跃游戏
这一道贪心算法的题目的核心其实是要知道每一个点可以跳到哪些位置。最好想到的一个贪心思路是每次都跳最大的,但也很容易找到反例。那么每次就在覆盖范围里面进行往后遍历,并不断更新我们的最大覆盖范围。如果最后覆盖了最后一个节点,说明能达到终点,反之达不到。比如第一个节点是2,那么我们的覆盖范围就是3个节点(包括第一个节点本身)。这道题的核心是一个概念:覆盖范围!
2024-10-24 15:50:58
262
原创 从零开始的LeetCode刷题日记:122.买卖股票的最佳时机 II
这道题贪心的思路很独特,属于很妙的解题思路。可以把每天买卖的利润分解到每一天,然后计算出正利润天数的利润总和便是答案。
2024-10-24 14:50:30
200
原创 从零开始的LeetCode刷题日记:53. 最大子序和
我们可以保证前面子序列的和是个正数,那么前面序列是有意义的,不会拖后腿。一旦子序列的和为负数,说明要拖后腿了,马上舍弃,从下一个位置开始重新选新的子序列。可以考虑我们得到的是一个全是负数的序列,那么这个问题就变成了找到里面最大的负数了。那么先判断是否更新就可以避免子序列和被置零而失效的问题。这道题目依然是一道贪心算法的题目。首先,直接的感受就是。这样遍历完整个序列就可以得到全局最优。
2024-10-24 14:35:58
410
原创 从零开始的LeetCode刷题日记:376. 摆动序列
这道题目需要子序列呈现一个大小的上下起伏,那么最理想的状态就是把上升和下降途中的节点删除,保留每一个顶峰和低谷。这里可以通过绘图来模拟,可以发现:1.上下坡有平坡的情况下两端节点只能算其中一端,他们其中一个的pre
2024-10-24 13:16:40
706
原创 从零开始的LeetCode刷题日记:455. 分发饼干
这道题是贪心算法的题目,贪心算法没有固定的公式和套路。最重要的就是找到局部最优和全局最优,并从局部最优推导到全局最优的过程。这道题目的局部最优的就是每次用最小(最大)的饼干喂饱可以满足的孩子里胃口最小(最大)的孩子。
2024-10-19 17:50:36
298
原创 从零开始的LeetCode刷题日记:222. 完全二叉树的节点个数
这道题可以用暴力方法直接计算节点。但可以利用到完全二叉树的特点,只要判断出此题里一棵树的最左和最右节点的深度一样就说明是一颗完全二叉树。
2024-10-19 15:18:29
257
原创 从零开始的LeetCode刷题日记:104. 二叉树的最大深度
这道题思路很简单,在遇到叶子节点的时候返回0,然后分别求左右子树的深度,最后加上本身节点的一个深度。因为是从树的深度,所以从下往上统计,即用后续遍历的思路来写代码。
2024-10-19 14:23:31
227
原创 从零开始的LeetCode刷题日记:429. N 叉树的层序遍历
这道题只需要将二叉树的层序遍历将左右节点压入队列的逻辑改成将数组里的数据依次压入即可。
2024-10-17 21:55:58
315
原创 从零开始的LeetCode刷题日记:102.二叉树的层序遍历
这道题也是二叉树题目的基础。层序遍历的思路其实非常简单,首先是要在出队列时把节点的左右孩子依次压进队列,其次就是要有个计数器来记录下一层访问的节点数量。代码还是要多写多练,才能牢牢记住。
2024-10-15 21:51:08
287
原创 从零开始的LeetCode刷题日记:二叉树的统一迭代法
二叉树前面使用迭代法实现的时候,中序遍历和前序遍历的实现有很大的差别。这里可以进行统一,核心思想是利用空节点来标记访问节点(也就是中间节点),然后根据栈中的访问顺序来改变压栈顺序就行。
2024-10-15 20:36:09
292
原创 从零开始的LeetCode刷题日记:二叉树的迭代遍历
3.对于中序遍历来说,因为它的遍历顺序和访问顺序不一样,所以和前序、中序不一样。一直到访问到空节点的时候,代表我们找到了最左边的节点,那么就可以开始访问这个节点,并回溯到它的父节点访问父节点,接下来就是往右子树访问了。1.对于前序遍历来说,整体的方法比较简单,在弹出节点的时候,只需要把该节点的右节点和左节点依次弹进栈即可(因为栈是先进后出)。前面用简单的递归法几行实现了这些问题,有些题目可以用迭代法来实现,通常使用的辅助数据结构是栈(递归的底层逻辑就是栈)。,那么我们改变左右子树的遍历顺序就成了。
2024-10-15 16:38:45
560
原创 从零开始的LeetCode刷题日记:144/145/94. 二叉树的递归遍历
这道题目是二叉树题目的基础,递归有三要素:1.确定参数和返回值;3.确定单层递归的逻辑。1.参数当然是树的节点。这里还可以传入数组,但用全局定义的数组的话就可以不传入。3.单层递归的逻辑是按顺序遍历左右节点和中间节点。2.终止条件就是遇到了空节点。
2024-10-15 13:37:34
240
原创 Elsevier(爱思唯尔)的Latex模板使用指南以及图、表、文献引用细节
这篇分享仅是小白在使用过程中的记录,旨在帮助其他完全没有接触过的新手们快速上手。文章内容难免有纰漏和错误,还请大家多多包涵,谢谢!祝您生活愉快,早日中稿!!!
2024-10-08 23:38:04
44562
16
原创 从零开始的LeetCode刷题日记:454. 四数相加 II
本题的思路其实很清晰,我们将四个数组分为两个部分。第一个部分两个数组所有和的情况直接存进去map当中作为索引(key),并记录出现次数。然后第二部分就直接查找有没有索引的相反数,有的话取出对应的value加到返回值上即可。这道题是使用std::unordered_map的一道题。原因一是不需要排序,但需要元素唯一。原因二是需要快速找到已经存在的值且要求得到这个值的个数,因此需要结构。
2024-04-11 15:07:02
523
原创 从零开始的LeetCode刷题日记:1. 两数之和
这道题是一道使用std::unordered_map。原因有两个,其一是我们需要快速找到遍历过的数,因此选择哈希法。其二是我们不但要找到这两个数,还要返回他们的下标,因此需要使用当key-value结构。
2024-04-11 14:58:46
374
1
原创 从零开始的LeetCode刷题日记:202. 快乐数
这道题是一道使用unordered_set的题目。这道题的核心就是要快速判断是否出现了无限循环,即出现了重复的数字。所以很适合用哈希解决,而且他要求唯一和不要求排序。
2024-04-11 14:51:01
326
原创 从零开始的LeetCode刷题日记:459.重复的子字符串
这道题目有着不用排序且元素唯一的特点,因此我们选择使用unordered_set来解决。我们利用其中一个num1创建一个unordered_set,然后用num2来逐个查询就可以了,最后的结果也存储在一个unordered_set中。
2024-04-11 14:44:55
277
2
原创 从零开始的LeetCode刷题日记:242. 有效的字母异位词
这是一道很简单的哈希表的题目,因为只涉及了26个字母的映射,所以完全可以用数组来解决。
2024-04-11 14:33:57
312
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅