PaddlePaddle
文章平均质量分 60
记录一些paddle框架知识
s.feng
计算机视觉,C++
展开
-
如何确保宏定义在global namespace
在大型项目中,我们会遇到很多的命名空间,有时候会不小心把全局变量也囊括到某一个namespace中,这样会导致后面排查为题很麻烦,为了保证一些对象在全局namespace中定义,且在编译期就会报警错误,又如下解决方案。原创 2023-06-07 10:47:26 · 95 阅读 · 0 评论 -
C++ 注册op
【代码】C++ 注册op。原创 2023-01-18 20:43:27 · 123 阅读 · 0 评论 -
行优先和列优先
千里之行,始于足下,勿在浮沙筑高台。意思就是矩阵按照行优先的顺序排列,直接用图比较好说明,下面是我们纸面上的矩阵。而实际存在计算机内存上必须是一维的,行优先就是下面这样:列优先是下面存储方式。其实二维转一维一定会丢失位置信息,为了能够从一维数据复原到二维,必须要给一些信息:其实理解这个代码,只要把A,B转置一下就很容易理解了:下图本A, B, C按照正常的排序理解,但是在做值对应的时候很容易晕。下面这样理解就容易的多:原创 2022-12-04 23:26:59 · 2022 阅读 · 0 评论 -
float32转float16
可以看到移动位数=exponent-15= -2, 所以fraction的小数点需要往左浮动2位,fraction就编程了0.010101010101,计算结果为pow(2, -2) + pow(2, -4) + pow(2, -6)+pow(2, -8) + pow(2, -10)+ pow(2, -12) ≈ 0.333252。流程就把fp32的整数部分转为二进制,小数部分转为二进制,算出小数点浮动的位置。可以知道往左浮动了2位,所以exponent=13, 对应二进制为01101。原创 2022-12-01 12:58:21 · 5697 阅读 · 2 评论 -
拓扑排序算法
拓扑排序的是啥意思?拓扑排序是指将有向无环图(DAG)的执行顺序进行排序。DAG顾名思义也就比较好理解,下面这张就是有向无环图。一般人用这个算法可能不多,不过做leetcode的课程表至少遇到过,其次搞AI的同学对于静态图的执行过程也会遇到。[0,1,2,3,4,5] 或者[0,2,1,3,4,5]等等,可见拓扑图的排序有很多选择,只要满足执行的依赖要求都是可行的拓扑排序。从上面的图可以知道,要执行3节点,依赖0,1, 所以需要先执行完0,1。原创 2022-11-30 17:39:18 · 952 阅读 · 0 评论