GPU上的梯度计算

时间:2018-08-20 16:21:37

标签: python c++ numpy

在过去的两天里,我一直在尝试实际使用python计算图片堆栈的梯度。

Numpy.gradient()给我值,但它们不足以进行边缘检测,因此我还写了我自己的内核,用灰色值(请称其为堆栈)乘以Array中的每个值。

因此numpy.gradients()确实非常快,但还不够好,我的梯度计算需要很多时间(大约45分钟)。借助OpenCV和CV矩阵在C ++中实现相同功能,一切都变得更快(大约3分钟),但是我无法在python和c ++之间建立包装。

是否有一种方法可以获取形状为NxMxK的numpy float32数组,并以某种方式在GPU上计算x,y,z方向上的梯度?我尝试了cudamat,但是只有基本的矩阵运算,并且tensorflow或pytorch似乎很复杂:(

0 个答案:

没有答案