hrs*_*hrs 5 numpy pycuda theano deep-learning
我们是否numpy.max(X, axis=None)在Theano 版本中加速了GPU .我查看了文档并发现theano.tensor.max(X, axis=None),但它比numpy实现慢4-5倍.
我可以向你保证,由于矩阵尺寸选择不当,它并不慢.theano.tensor.exp下的相同矩阵比其numpy对应物快40倍.
有什么建议?
以前的答案是不完整的.该建议不应该起作用,因为解决方案是最终编译代码中使用的.有优化可以自动进行此转换.
问题的标题与内容不同.它们因轴参数而不同.我会回答这两个问题.
如果轴为0或无,我们在GPU上支持矩阵的操作.如果轴是None,我们有一个基本的实现没有很好地优化,因为它更难并行化.如果轴为0,我们有一个基本实现,但它更快,因为它更容易并行化.
另外,你是如何做你的时间的?如果您只使用该操作创建一个函数并通过device = gpu标志进行测试以进行比较,则将包括CPU和GPU之间的传输时间.这是一个内存绑定操作,所以如果你在调整中包含传输,personnaly我不希望任何速度操作.要仅查看GPU操作,请使用Theano profiler:使用Theano标志profile = True运行.