在没有 NVIDIA 卡的 macbook pro 中使用 theano

Use theano in a macbook pro without NVIDIA card

我有:

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

非常感谢

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

  • 并非所有操作都有 GPU 版本,因此可以创建一个计算,其中包含一个根本无法在 GPU 上 运行 的组件。当你在 GPU 上 运行 这些计算之一时,它会默默地回落到 CPU,所以程序会 运行 而不会失败,结果将是正确的,但计算不是运行尽可能高效地运行,但速度会变慢,因为它必须在主内存和 GPU 内存之间来回复制数据。

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

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

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