gpt4 book ai didi

python - Theano/Numpy 的矩阵逆函数是否完全使用 GPU?

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:10 25 4
gpt4 key购买 nike

我运行了以下代码来计算矩阵的伪逆,但似乎是否打开 GPU 没有什么区别。

mat = theano.shared(numpy.eye(300, dtype="float32")+1)
fn = theano.function([], theano.tensor.nlinalg.pinv(mat))
fn()

然后我查看了Theano的theano.tensor.nlinalg.MatrixPinv源码,发现它只是在下面的代码中调用了Numpy的numpy.linalg.pinv(我'将省略评论)。

class MatrixPinv(Op):
__props__ = ()

def __init__(self):
pass

def make_node(self, x):
x = as_tensor_variable(x)
assert x.ndim == 2
return Apply(self, [x], [x.type()])

def perform(self, node, inputs, outputs):
(x,) = inputs
(z,) = outputs
z[0] = numpy.linalg.pinv(x).astype(x.dtype)

pinv = MatrixPinv()

我不是很了解Numpy是如何实现的,它可以在GPU上运行吗?
如果不是,是否意味着每次我想在 Theano 中计算矩阵逆时,我都必须从 GPU 返回到 CPU?

最佳答案

参见文章 Using the GPU在 theano 文档中。

Note that we use the shared function to make sure that the input x is stored on the graphics device.

您必须确保数据存储在显存中。否则,我想,theano 会退回到使用 numpy 例程。

Numpy 通常不在 GPU 上运行。我不确定是否可以将它与 CudaBLAS 联系起来,但我想这超出了这里的范围。

关于python - Theano/Numpy 的矩阵逆函数是否完全使用 GPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35015196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com