我知道Caffe使用通用矩阵到矩阵乘法(GEMM),它是基本线性代数子程序(BLAS)库的一部分,用于执行卷积运算。将卷积转换为矩阵乘法运算。我已提及以下文章。 https://petewarden.com/2015/04/20/why-gemm-is-at-the-heart-of-deep-learning/
我想了解Theano,Tensorflow,Pytorch等其他深度学习框架如何执行卷积运算。他们是否在后端使用类似的库。关于此主题可能有一些文章。如果有人可以指出我的意思或可以给出答案来解释。
PS:我在datascience.stackexchange.com上发布了相同的问题。由于我在那儿没有得到答复,因此我也将其张贴在这里。如果有更好的论坛来发布此问题,请告诉我。
答案 0 :(得分:3)
tensorflow的操作有多种选择。
对于GPU,使用cuda支持。大部分操作是使用cuDNN实现的,其中一些使用cuBLAS,而其他使用cuda。
您也可以使用openCL代替cuda,但是您应该自己编译tensorflow。
对于CPU,intel mkl用作blas库。
我对pytorch和theano不熟悉,但是下面列出了一些常用的blas库: