ONNX项目报告
项目提交人:李澍 设计与实现 ONNX动态维度表示 之前版本的Shape本质上是 vector , 所以它只能保存具体的整数,无法直接保存”batch”,或者”unknown”这样的语义,所以我在前端增加了一层表示。 例如输入为: [ "batch" , 3, ?, 2] class DimensionKind ( str , Enum): FIXED =…
68 篇文章
项目提交人:李澍 设计与实现 ONNX动态维度表示 之前版本的Shape本质上是 vector , 所以它只能保存具体的整数,无法直接保存”batch”,或者”unknown”这样的语义,所以我在前端增加了一层表示。 例如输入为: [ "batch" , 3, ?, 2] class DimensionKind ( str , Enum): FIXED =…
写一个做项目时的笔记,记录一下 ONNX 这是一个需要调用的python包,它的作用是把 PyTorch、TensorFlow 等框架训练出来的模型,转换成一个统一的计算图格式 .onnx,然后交给不同推理后端运行。 一个ONNX模型大概可以理解为: ModelProto │ └── GraphProto │ ├── inputs │ ├── outputs…
做一下投机解码这一块的笔记,感觉这一块还是很重要的,所以就自己实现一下。 投机解码主要的逻辑就是我如果线性的一个个的去求decode出来的token,那么GEMM就会退化成GEMV,因为是流水线型的。为了缓解这种情况所以就采取了投机解码的方式,意思是我拿一个小模型一次性的多生成几个token,然后统一的再去验证它。 这里我采取的是复现EAGLE这个方法,它是…
这里我打算围绕着AWQ去做,然后我发现AWQ在vLLM里面实际只支持FP16这个格式,如果要支持Qwen3和Llama里的BF16的格式,需要再添加一个接口做awq_marlin,这个再vLLM中也是实现了的。 考虑到模型的复杂性和我实际的工作量要求,我打算先做出来最基础的AWQ,然后在跑模型的时候强制转换格式。然后把量化这一块搞明白的差不多的时候,我再实现…
代码阅读 因为我是新手,所以先从代码阅读开始 llm_engine.py 调用链如下: LLM.generate() -> add_request() -> Sequence -> Scheduler.add() -> while not finished: -> step() -> Scheduler.schedule() -> ModelRunner.c…
在大语言模型(LLM)的自回归生成(autoregressive decoding)过程中,每一步都会生成一个 token,并将其作为下一步的输入。为了提升推理效率,避免重复计算注意力机制中的 Key 和 Value 向量,系统会将这些中间结果缓存起来——这就是 Key-Value Cache(KV Cache)。 然而,传统的 KV Cache 管理方式存…
调度器 增加请求 我们可以把 vLLM 的调度理解为以下几条规则: RUNNING 请求优先:vLLM 不是简单地谁先来谁先执行。在每个 scheduler step 中,调度器会先尝试继续调度已经处于 RUNNING 状态的请求。这样做的目的是让已经进入执行流水线的请求持续推进,减少生成过程中的停顿。这里的 RUNNING 不只表示已经开始输出 token…
客户端到 EngineProc 的方向: 客户端使用 ROUTER 套接字发送请求。 EngineProc 使用 DEALER 套接字连接并接收请求。 ROUTER/DEALER 组合适合“前端 client 与后端 engine 之间的异步通信”:前端可以根据DEALER 的 identity 将请求定向发给对应的 EngineProc,而 EngineP…
离线推理:LLMEngine 在线服务:AsyncLLM ZMQ通信 AsyncLLM负责从客户端接收输入请求,并将其转发至底层实际执行推理任务的引擎组件,随后以异步方式获取执行结果。二者之间的通信依托于 ZeroMQ(ZMQ)实现。 REQ/REP通信模式 client 端将以同步阻塞的方式等待 server 端的响应回复。这种模式要求通信双方严格遵循一问…
Title Virtual Cell Challenge: Toward a Turing test for the virtual cell Introduction These ‘‘virtual cells’’ are expected to learn the relationship between cell state and function…
Title Systema: a framework for evaluating genetic perturbation response prediction beyond systematic variation Abstract 什么是系统变异 Systematic variation:the consistent transcriptional…
Title Deep-learning-based gene perturbation effect prediction does not yet outperform simple linear baselines 数据集 Norman et al.11, in which 100 individual genes and 124 pairs of ge…
# 最优传输 如何用最少的代价将一个质量分布转为另一个质量分布 ## Monge Let μ and ν be two measures in $\mathbb{R}^d$. The optimal transport problem by Monge is defined as $$\begin{equation} {\arg \min }_{T:{T}_…
Title Learning single-cell perturbation responses using neural optimal transport Abstract 本文一共干了三件事: predicting the scRNA-seq responses of holdout patients with lupus exposed to in…
感觉这个东西配起来十分的恶心,我打算按照 官方 的操作来做一遍。 一方面自己大四闲的要死,找点事做总是好的,另一方面网络上确实关于lazyvim的教程要么收费,要么浅尝辄止没有深入或系统的指导,所以我自己开个坑,希望能系统而全面的介绍在windows系统下的对于LazyVim和NeoVim的使用和书写方法。 当然我也没学过lua,若有不够严谨的地方多多包涵。…
总结一下以往看过的文章对于background,尤其是对于spatial domain相关知识的介绍 Benchmarking spatial clustering methods with spatially resolved transcriptomics data Spatial clustering, which shares an analogy…
DeepST: identifying spatial domains in spatial transcriptomics by deep learning Abstract DeepST can dissect spatial domains in cancer tissue at a finer scale. DeepST can not only e…
Scanpy 是一个专门用于单细胞 RNA 测序 (scRNA-seq) 数据分析的 Python 库,它的核心数据结构是 AnnData (Annotated Data)。了解 AnnData 数据类型是使用 Scanpy 的关键。以下是对 AnnData 的详细介绍: 1. AnnData 的结构 AnnData 是一种基于矩阵的数据结构,专为处理大规模…
Scanpy 是一个专门用于单细胞 RNA 测序 (scRNA-seq) 数据分析的 Python 库,它的核心数据结构是 AnnData (Annotated Data)。了解 AnnData 数据类型是使用 Scanpy 的关键。以下是对 AnnData 的详细介绍: 1. AnnData 的结构 AnnData 是一种基于矩阵的数据结构,专为处理大规模…
STAGATE: Deciphering spatial domains from spatially resolved transcriptomics with an adaptive graph attention auto-encoder 主要利用了Graph Attention Network里面的方法,创建3D SNN时假设不同切片同一位置具有连续…
SpaGCN: Integrating gene expression, spatial location and histology to identify spatial domains and spatially variable genes by graph convolutional network. 主要利用了spage2vec方法对数据进行降维…
小毕设要求实现的论文,还挺新 这是 知乎上的归纳总结 ,本文基本不会参考知乎上的那篇,准备先自己理解总结一遍再看看其他人怎么写的 原文地址和代码知乎上都有引用
泛泛的学习一下深度学习,主要基于的网站是 动手学深度学习 . 不要求自己学的多深入,毕竟也没人要求我去了解,主要是担心在研究生期间会用到这些知识,主要是一个了解与应用的过程。如果有必要,以后会补上《Deep Learning》这本书的读书笔记。 引言 什么是参数呢? 参数可以被看作旋钮,旋钮的转动可以调整程序的行为。 任一调整参数后的程序被称为模型(mode…
单词表 +++primary 单词表 scope: 范围 evaluate: 评价 scenario: 设想的情况 multiplex: 多路运输 pose: 构成 substantial: 可观的 annotation: 注释 conquer: 征服 extant: 尚存的 extensively: 全面的 laminar: 薄片/层型 NMI: norm…
这文章看的人心力憔悴 单词 这里面的专有名词太多了,会记录很多 +++primary 单词表 phenotypic: 表型的 mammalian: 哺乳动物的 unicellular: 单细胞的 multicellular: 多细胞的 reproducible: 可再现的 unprecedented: 前所未有的 transcriptomics: 转录组学…
从这篇开始我就正式接触科研了,对于每一篇文章都尽量做一个良好的学习。会针对分析、概括、思考、代码等等方便对文章进行学习。主要起到一个确保自己当下学懂和未来能够用到的作用。 不苛求形式,即使博客本身形式性就很强。我会尽量做到更新,或以博客记录,或者把自己的电子手写稿粘贴上来。如果对我的内容有疑问,欢迎批评与指正。
本文针对保研复试进行总复习,对目前的自己针对机器学习、计算机组织,包括数学建模、ACM等等学科进行自己的理解和概括,以总述为主,内容复习为辅。 目的是为了在复试时更好的吹牛qwq。
文件是什么 文件是指一组相关数据的有序集合,这个数据集有一个名称叫做文件名。文件可以是自己编制的,也可以是系统已有的。事实上我们已经多次使用了文件,例如源程序文件,目标文件、可执行文件、库文件等。 为了将结果保存起来,就需要使用文件。将数据以文件的形式存放在光盘、磁盘等外存储器上,可以达到重复利用、永久保存数据的目的。文件可分为普通文件和设备文件两种。通常吧…
持续六天的新生赛终于落下了帷幕,打了8道题,第21名,对于两年没有碰过oi的我来说已经是一个不错的成绩了,如果运气好的话还能水到一等奖,怎么说都血赚。 但不得不说的是,我这次的状态比两年前打CSPS要好太多了,如果以我现在的心理素质和之前的知识水平去打,那肯定是不同的结果了。 这次比赛原本想用Amentiraz这个昵称去打,但思来想去还是用了最开始的dsfl…
学了三天DP连个P都不会,总的来说就是寄了,每道题不看题解就做不来,试着做了做三道提高组难度的题,做出来了俩,另外一个没有思路。这俩题我都想出了大部分思路,但最后几步由于经验问题没想出来。做完后我以为我懂了,然后膨胀了,去挑战 低价购买 这道题。然后不出意外寄了。打算先不弄这个了,等以后在弄,先把之前写的贴上来吧。
想当年高中组织活动的时候我还专门写过Tarjan的流程和证明,如今已经忘的干干净净,原来的代码也找不到了,只能现写了。 总的来说就是利用一个栈,将每个访问到的点push入栈,在寻找的过程中记录两个值,一个是dfn——它是第几个搜索到的,一个是low——它能衍生的点中dfn最小的值。如果一个点dfn==low说明它本身就是最小的点,把它及它栈以上的点全部pop…
LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 ———来自百度百科 对于一棵树来说,我们为了求它的最近公共祖先其实思路和快速幂是差不多的,我们不能直接一个个的向上查找,这样会使时间复杂度爆表,我们应当以2^k的速率往上找,这样可以使其时间复杂度降为log级别。 不得不说luogu上…
线段树是一种树状数据结构,它可以区间加减,区间乘除等一系列操作,用于处理那种可以合并状态的数据,在使用其3倍左右的空间的代价下使得其修改、查询、求区间和等等操作变得更加快捷。但与此同时,我们无法利用它处理类似于区间最长01序列此类问题,而且线段树代码冗长,其实很容易写错(也可能是因为我太菜了)。 我们将一组数据进行如下处理,每相邻的两个数据有一个父亲节点来记…
Dijkstra算法用于解决单源最短路问题,假设起始点为S,在最开始我们可以知道S到某些点的距离,从中取出最小的一个,我们可以保证在我们取出这个最小值的时候不可能有任何路径可以更短的到达此点,,此过程使用了贪心的思想。每当我们找出一个这样的点就更新S到与此点相连的其它点的距离,我们每一次取点都保证取出的是最短的且未被访问的点,这就是Dijkstra算法。
结构的基本知识 结构是一个或者多个变量的几何,这些变量可能为不同的类型,为了处理的方便而将这些变量组织在一个名字之下。 结构可以拷贝、赋值、传递给函数,函数也可以返回结构类型的返回值,在ANSI标准中,自动结构和数组现在也可以进行初始化。
插值算法主要运用于在数学建模竞赛中,现有的数据极少,不足以支撑分析的进行,这时候就需要使用一些数学的方法 插值的作用,“模拟产生”一些新的但又比较靠谱的值来满足需求
TOPSIS法(Technique for Order Preference by Similarity to Ideal Solution) 可翻译为逼近理想解排序法,也称优劣解距离法 TOPSIS法是一种常用的综合评价方法,其能充分利用原始数据的信息,其结果能精确的反映各评价方案之间的差距
态度可以转变,生活却不可逆转。-学层次分析法有感 此文章用于记录我学习数学建模的十大模型中层次分析法的学习笔记与自己的理解,本文大多数是由清风老师的数学建模的指导归纳总结得到的,以备今后的数学建模。如果遇到了类似的题目可以尽快的找到相应的模型进行解决。 如果本文能帮助到其他阅读到此文章的同志,我也是不胜荣幸。 如果文章有所纰漏,也欢迎大家指出。