【问题标题】:Use theano in a macbook pro without NVIDIA card在没有 NVIDIA 卡的 macbook pro 中使用 theano
【发布时间】:2017-09-05 21:47:44
【问题描述】:

我有:

  • MacBook Pro(视网膜显示屏,13 英寸,2014 年中)
  • OS X 优胜美地
  • 英特尔 Iris 1536MB

我听说我不能使用 GPU theano 但我可以使用 CPU,但我想知道编程是否相同,并且内部 theano 是否可以与 CPU 一起使用,或者在另一个情况下与 GPU 一起使用。或者,如果我在编程时有一种方法可以为每一种编程。

非常感谢

【问题讨论】:

    标签: macos theano osx-yosemite


    【解决方案1】:

    在大多数情况下,在 CPU 上运行良好的 Theano 程序也将在 GPU 上运行良好,无需更改代码。但是,有一些事情需要牢记。

    • 并非所有操作都有 GPU 版本,因此可以创建包含根本无法在 GPU 上运行的组件的计算。当您在 GPU 上运行这些计算之一时,它会静默地回退到 CPU,因此程序将运行而不会失败并且结果将是正确的,但计算运行的效率不如预期的那样,并且会变慢,因为它必须在主内存和 GPU 内存之间来回复制数据。

    • 访问数据的方式会极大地影响 GPU 性能,但对 CPU 性能影响不大。主存往往比 GPU 内存大,因此通常情况下,您的整个数据集都可以放在主存中,但不能放在 GPU 内存中。有一些技术可以用来避免这个问题,但您需要提前记住 GPU 的限制。

    如果您坚持使用传统的神经网络技术,并遵循 Theano 示例/教程代码中使用的模式,那么它可能会在 GPU 上运行良好,因为这是 Theano 的主要用例。

    【讨论】:

    • 换句话说,我的代码可以在没有 NVIDIA 卡(无 GPU)的 Mac 和带有 NVIDIA 卡(有 GPU)的 Windows 中执行,而代码没有变化。但是在我使用的大多数功能中,速度会非常不同。对吗?
    • 是的。但如果你做了一些不寻常的事情,它最终可能会在强大的 GPU 上比在主流 CPU 上运行得更慢。
    【解决方案2】:

    是的,Theano 有效地了解您是否有 GPU,并决定使用 CPU 或 GPU 创建变量,唯一困难的是,当您使用 Theano 创建模型和变量时,有或没有 GPU 的变量配置会发生变化,在换句话说,如果您使用 GPU(或 CPU)创建模型并将它们保存在 *.pickle(例如)中,然后您转到另一台没有 CPU(或 GPU)的 PC,则此模型及其保存的变量将不起作用。

    【讨论】:

      猜你喜欢
      • 2016-01-20
      • 2015-11-09
      • 1970-01-01
      • 2021-12-23
      • 2016-02-14
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 2011-05-09
      相关资源
      最近更新 更多