筛选

卡片视图

//

WanDB基础使用教程总结

WanDB是一个python库/日志托管平台,帮我们详细记录并整理了训练过程中的各种参数和指标变化, 省去了需要自己详细记录日志、绘制图表的麻烦,并且可以做超参数搜索等进阶用法。 整合入训练循环的最小模板: 在W&B quickstart中提到了两款产品,我们主要使用的是前者,用于记录acc、loss、运行环境和模型权重等日志信息,并且便于做简单的绘图。 wanDB最本源的使用方式是通过 wandb.log 函数,记录 epoch, accuracy 和 loss ,只要在相关的地方把变量传给它就行。…

//

怎么估算LLM的参数量和训练FLOPs?推一推、测一测

本Blog适合于知道 Transformer 基础结构、但没有尝试推导过参数量和FLOPs的朋友。 省流:P ≈ 12Nd^2 + Vd 本文的LLM基于Transformer Decoder结构,以 GPT2-XL 为例。它有以下超参数设置: 实测得到的可训练参数量为 1,557,611,200 = 1.56B。 以下是使用HuggingFace Transformers库实际加载了GPT2 XL并统计可训练参数量的结果。代码见下述附录A。 可训练参数量的估算公式为: $$12Nd^2+Vd$$ 其中 $N$…

//

【数据结构与算法4】LeetCode HOT 100 in Python(前50)

哈希,双指针,滑动窗口,子串,数组,矩阵,链表,二叉树,图。 需要什么就哈希记录什么。 对双指针的理解是:两个指针向中间收缩的问题,收缩的一般是“不收缩的话,后续搜索得到的解均不符合题意”的那个指针。 专题3 滑动窗口 对滑动窗口的理解是:处理移动窗口前后的差分。 链表的一个重要工具是prev指针,用于指示前一个节点。 需要返回索引,所以记录索引。 在遍历的同时,将已遍历过的元素索引记录在哈希表中,即可确定与当前元素组成两数之和的数是否存在。 49 字母异位词分组 相当于把所有字符串s按照sorted(s)分组。…

//

【数据结构与算法5】LeetCode HOT 100 in Python(后50)

回溯、二分查找、栈、堆、贪心、动态规划、多维动态规划、技巧。 大致目的是完整地、成体系地过, 然后对关键点仔细地、反复地揣摩把握, 最终目标是任意抽出一道、均能有很好的理解。 专题11 二分查找 专题15 动态规划 专题16 多维动态规划 回溯模板:结束条件,遍历选择,做出选择。 回溯需要考虑当前start时可以做哪些选择。 17 电话号码的字母组合 回溯需要考虑当前位置可以做出哪些选择。 (集合中元素可以重复使用,不同位置元素不同) 重复使用通过传入相同的i实现。 变式:组合总和II…

/

贴贴棋(reverseChess)介绍

在线游玩:贴贴棋 贴贴棋是一个10x10的黑白棋变体小游戏,纯HTML(JavaScript)。最主要的规则如下: (复制)如果走到的地方周围三面为空(不考虑移动前的位置,因为总是为空,下同),则任取一面置黑色。 (同化)如果一面有白棋、两面为空,则将白棋和任意一面空的同时置为黑色。 (保留)如果两面有白棋、一面为空,则啥也不做。 (被同化)如果三面有白棋,则踩过去自己变白棋。 如果某方无路可走,或者只剩一个棋子,则游戏结束,确定胜负。…

//

用einops包替换掉PyTorch的大部分矩阵变换函数

只是 rearrange ,reduce , repeat 和 einsum 这四个函数而已。 爱因斯坦求和标记:Einops tutorial, part 1: basics - Einops rearrange 函数:以更可读的方式重排、合并或拆分维度。 在这种计算机视觉的上下文里还挺合适的,分别是batch channel height width这样的实际语义,做调整时保持语义会很有利于阅读。 reduce 函数:这个真的很好读,一看就是对channel维度做了mean操作。 repeat…

//

【数据结构与算法3】基础数据结构与算法模板整理

参考:《深入浅出程序设计竞赛(基础篇)(汪楚奇)》。 (可参考:数据结构(C++模板实现)) 基本上知道思路之后大部分代码都是自己完整写出来的(部分难题和跳过的题目除外),然后再补了一点细节。 往后推的同时,还需要加强巩固一些重点的专题,做做课后习题: 学过某个知识了,不代表这个知识已经掌握甚至融会贯通了。做题是为了这个目的,而不是堆数字:“增加题量”。 整本书粗略地学习了一遍,框架已经搭起来了,之后就是提熟练度了。完结撒花!! 基础篇跟进阶篇看起来有这么多东西,为什么甚至没有网络流…

//

【数据结构与算法2】算法篇:用3x2审视算法课的算法部分

总而言之是叽里呱啦一些《算法导论》笔记 基础算法案例,分治,比较算法与随机化,动态规划,贪心,最短路径, 网络流,回溯,在线算法,P/NP,近似算法 直觉+过程+伪代码: 上下文、复杂度, 边界、核心设置, 不变量、自然语言解释。 Lec1 数学基础√ Lec2 分治√ Lec3 比较算法与随机化√ Lec4 哈希 不太能用这个结构讲√ Lec5 布隆过滤器 不太能用这个结构讲 Lec6 动态规划必须可以√ Lec7 贪心可以√ Lec8 摊还分析主要是数学分析方法,略过√ Lec9 最短路径可以√ Lec10…

//

【数据结构与算法1】数学篇:从几个专题审视算法课的数学部分

总而言之是噼里啪啦一些《算法导论》笔记 时间复杂度,求和公式,分治,哈希,摊还分析,在线算法与竞争分析,线性规划与单纯形法 Lec1 复杂度的严格证明√ Lec2 求和公式,1/n和ln n的关系整理√ Lec2 各种分治递归求解方法及其练习√ Lec4 哈希和布隆过滤器的分析√ Lec8 摊还分析√ Lec12 在线算法及竞争性分析√ Lec13 线性规划与单纯形法√ ps. 感觉Lec4 哈希和Lec5 布隆过滤器写得太糙了 回头可以连带简单实验和分析搞一个整体一点的小专题 $\Theta…

/

Career advice 丨 职业建议(翻译自 Terence Tao 的博客)

Career advice | What's new 作者:陶哲轩(Terence Tao) 声明:本页面中的“我”指原作者。仅为了方便个人查阅、而将原页面做了中文翻译,并修订了一些过时链接。翻译时间为2025年8月1日。未取得原作者的版权同意,仅供个人学习使用。一切版权归原作者所有。 以下是我收集的关于数学学术职业问题的各种建议,大致按建议在哪个阶段最适用进行排序(当然,有些建议也适用于多个阶段)。…

/

IEEE754 浮点数与十进制数互相转换流程及例子

原来只是精度、数量级,再加上偏移量这个从无符号数到有符号数的工程实现。 浮点数从未如此简单。 (不是) 十进制数转浮点数步骤: 十进制转二进制,如$10.001{2}$。 二进制转二进制的科学计数法表示($1.xxx2 \times 2^{yyy}$),如$1.001{2} \times 2^1$,根据指数$yyy$参考下述“规格化和非规格化判断”。 根据二进制的科学计数法表示,参考下述“M和E是多少”,写出s, exp, frac。 浮点数转十进制数步骤:反过来…