【问题标题】:Theano: mixing CPU and GPU?Theano:混合 CPU 和 GPU?
【发布时间】:2017-03-22 02:10:43
【问题描述】:

我构建了一个神经网络,它需要使用 Cholesky 分解和求解三角系统作为其计算的一部分。这意味着我当然还需要计算整个计算的梯度。

当我尝试编译代码时,我收到错误“没有可用的 Cula”。很遗憾,我无法从website 下载 Cula。

我想知道是否可以将 CPU 和 GPU 与 theano 混合使用。我需要使用 Cholesky 和 ​​Solve 的矩阵很小 (100x100),所以我可以在 CPU 上完成这部分工作。不过,要做到这一点,我需要在 GPU 计算完矩阵后立即将它们传输到 CPU,然后将结果发送回 GPU。是否有可能做到这一点足够透明?

【问题讨论】:

    标签: python numpy theano cula


    【解决方案1】:

    此传输是透明的。不需要做一些特别的事情。但我建议您对 Theano 图进行分析,以确保:http://deeplearning.net/software/theano/tutorial/profiling.html#tut-profiling

    对于 cula,有一个 PR 提供基于 NVIDIA 现在提供的 cusolver 的求解操作。所以这可能不再需要了。试试这个 PR:https://github.com/Theano/Theano/pull/4917

    【讨论】:

    • 谢谢。我看过乔尔斯基。似乎分解是在 CPU 上计算的,但它在 GPU 上的梯度使用求解。这是正确的吗?
    • github.com/Theano/Theano/pull/4006 是一个旧的 PR,它得到了 rebase,但在 rebase 期间出现了问题。它正在添加一个 GpuCholesky 操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 2014-10-03
    • 2020-06-03
    相关资源
    最近更新 更多