卷积操作的实现

本文探讨了卷积操作在深度学习中的实现,重点介绍了全连接层和卷积层的工作原理。全连接层涉及矩阵与向量的乘法,而卷积层通过im2col方法将3D输入转换为二维数组进行矩阵乘法。高效的GEMM函数在CPU和GPU计算中起到关键作用,确保了卷积和全连接层的高速运算。
摘要由CSDN通过智能技术生成

本文参考 Why GEMM is at the heart of deep learning

BLAS的全称是基础线性代数子程序库(Basic Linear Algebra Subprograms),提供了一些低层次的通用线性代数运算的实现函数,如向量的相加,数乘,点积和矩阵相乘等。BLAS的实现根绝硬件平台的不同而不同,常常利用了特定处理器的硬件特点进行加速计算(例如处理器上的向量寄存器和SIMD指令集),提供了C和Fortran语言支持。
不同的厂商根据自己硬件的特点,在BLAS的统一框架下,开发了自己的加速库,Intel的MKL,ATLAS和OpenBLAS。其中后面的三个均可以在Caffe中配置使用。
在BLAS中,实现了矩阵与矩阵相乘的函数gemm(GEMM: General Matrix to Matrix Multiplication)和矩阵和向量相乘的函数gemv,这两个数学运算的高效实现,关系到整个DL 框架的运算速度。

可以看到,在前向计算过程中,无论是CPU还是GPU,大量时间都花在了卷积层和全连接层上。

全连接层

对于全连接层的操作为输出神经元需要和输入相乘并求和得出输出,其过程如下图所示࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值