首页 > 其他分享 >doubly block toeplitz matrix 在加速矩阵差卷积上的应用

doubly block toeplitz matrix 在加速矩阵差卷积上的应用

时间:2023-08-03 10:00:37浏览次数:43  
标签:matrix 卷积 矩阵 times doubly block toeplitz

文档链接

CNN 的卷积是执行了 \(w'_ {i,j}=\sum\limits_{x,y}w_{i+x,j+y}\times C_{x,y}\),有人认为每次平移卷积核,运算量很大,又是乘法又是加法。

现在我们吧 \(w_{x,y}\) 展开形成一个 \([n\times m,1]\) 的向量 \(V\),然后构造一个大小为 \([(n+1)\times (m+1),n\times m]\) 矩阵 \(P\) 使得 \(X=PV\) 得到的 \(X\) 压缩成 \([n+1,m+1]\) 矩阵之后取右下部分能得到正确的 \(w'\)

虽然我感觉变成矩阵乘向量之后运算更多了啊。

toeplitz 矩阵是

标签:matrix,卷积,矩阵,times,doubly,block,toeplitz
From: https://www.cnblogs.com/yspm/p/DoublyblockTeoplitzMatrix.html

相关文章

  • 05_llvm IR测试创建ifelse语句及多个block
    一个ifelse源码编译先看如下代码:intfunc(inta){intb;if(a>5)b=6;elseb=5;returnb;}编译命令../output/bin/clang++-emit-llvmllvm_if_else.c-S-oir.ll编译后的IR如下:;ModuleID='llvm_if_else.c'source_filename="llvm_if_else.c&q......
  • 对于img跟其他标签总是有点间距的问题——将img改成display:block
    问题在学习前端的时候,设置其他元素跟img的间距,结果F12发现有一点间距在给img添加display:block后虽然还是有点,但基本大差不差,顺利解决......
  • css的inline-block布局方式对齐问题 —— 转载自 article/2023/7/31 16:26:21
    css的inline-block布局方式对齐问题今天在实现百度前端技术学院的如下案例时遇到了div上下对齐问题。针对如下左右两栏布局,本来使用将两栏各自div的display设置为inline-block方式来实现,为了左边高度与右边对齐,直接量出右边div按照像素高度赋给左边。但是左边元素竟然出现在了......
  • TR 31 Key block decode
    KBPK(ZMK): C1293E2C4A2F4073162CD0C2A8D5C8529D200BFD327CF48CWithKBPK,wecangetKBEKandKBAKKBEK: C1293E2C4A2F4073162CD0C2A8D5C8529D200BFD327CF48CXOR454545454545454545454545454545454545454545454545= 846C7B690F6A053653699587ED908D17D8654EB87739B1C9......
  • command_block 的《线性基小记》注
    目录1.前置知识2.OI中的线性基张成空间判定问题Ⅰ&Ⅱ实数域线性基k小子集异或和线性基合并带删除线性基总结command_block的《线性基小记》原文1.前置知识线性有关/无关:知乎中有对线性相关与线性无关比较具象化的解释。可以发现,线性基就是一种线性无关构成的线性相关的集合......
  • python的tril,pad,block_diag在LLM上的使用
    最近需要对position_ids和attention_mask进行重构,所以需要掌握numpy的一些操作,以下是一些示例,多个下三角矩阵拼接:importnumpyasnpfromscipy.linalgimportblock_diagA=np.ones((2,2))B=np.ones((3,3))b=[A,B]print(np.tril(block_diag(*b)))[[1.0.0.0.0.]......
  • 基于C语言设计的Bootblock设计
    完整资料进入【数字空间】查看——搜索"writebug"一、Project1Bootloader设计文档中国科学院大学[王苑铮]1.1Bootblock设计流程请至少说明以下内容Bootblock主要完成的功能把kernel从sd卡读取到内存中的指定位置,之后跳转到内核的起始地址让内核开始执行。Bootblock被载......
  • BlockingQueue介绍
    我们平时开发中好像很少使用到BlockingQueue(阻塞队列),比如我们想要存储一组数据的时候会使用ArrayList,想要存储键值对数据会使用HashMap,在什么场景下需要用到BlockingQueue呢?1.BlockingQueue的应用场景当我们处理完一批数据之后,需要把这批数据发给下游方法接着处理,但是下游方法......
  • 使用BBED查看数据文件头(block# 1)的简单使用及查询DBID/DB_NAME等信息
    DBID及DB_NAME的查看在最后。进入BBED及初始设置如下:[oracle@bys3~]$catpar.bbdblocksize=8192listfile=bbedfile.txtmode=edit[oracle@bys3~]$catbbedfile.txt--可以通过selectfile#,namefromv$dbfile;selectfile#,namefromv$datafile;1......
  • STM8S编译错误unable to allocate space for sections/blocks with a total
    STM8S编译错误unabletoallocatespaceforsections/blockswithatotal#欢迎使用Markdown编辑器笔者用IARforSTM8开发碰到很多奇怪的问题,都是因为优化等级引起的首先看这个用dubug编译错误提示:unabletoallocatespaceforsections/blockswithatotalestimatedm......