TensorFlow 可以与 Theano 一起安装吗?

Posted

技术标签:

【中文标题】TensorFlow 可以与 Theano 一起安装吗?【英文标题】:Can Tensorflow be installed alongside Theano? 【发布时间】:2016-07-15 20:10:29 【问题描述】:

我正在尝试在 Nvidia Tesla K80 上与 Theano 一起安装 tensorflow。我正在使用 Cuda 7.5 并按照here 给出的说明进行操作 Theano 本身运行良好,但只要我按照说明从源代码安装 tensorflow 或使用 pip install,nvidia-smi 和 Theano 就会停止工作。

更具体地说,nvidia-smi 无限期挂起,而 Theano 只是拒绝在 GPU 模式下运行。

我也在使用最新版本的 cudnn v4。 Tensorflow 是否存在导致 nvidia-smi 挂起和与 Theano 不兼容的已知问题?

【问题讨论】:

仅安装 TensorFlow 不会导致您计算机上的其他软件停止工作。但是,与 Theano 同时使用 TensorFlow 可能不起作用,因为默认情况下,TensorFlow 假定它可以使用 GPU 中的所有 RAM。当您看到这些错误时,您是否正在运行 TensorFlow 程序? 嗨。我有一个带有 2 个 GPU 卡的 K80 GPU。即使 TensorFlow 程序在 GPU0 上运行,在 GPU1 上运行 Theano 程序也应该没问题,对吧?无论 tensorflow 程序是否正在运行,都会发生错误。这就是我第一次观察到错误的方式,但即使在停止所有程序并重新启动系统之后,nvidia-smi 似乎永久“损坏”,因为它无限期挂起。 'import theano' 也一样。无限期挂起。 TensorFlow 将在它找到的所有 GPU 上获取所有 RAM,因此您可能会在使用 Theano 时遇到问题。此外,如果您的“nvidia-smi”挂起,那么可能与 GPU 相关的任何内容都不起作用。我曾经遇到过这个问题,通过重启电脑解决了。 谢谢!这确实是问题所在。 【参考方案1】:

TensorFlow 挑选所有可用的 GPU。因此,如果您在 Theano 之前启动它,Theano 将默认没有任何可用的 GPU。如果先启动 Theano,TensorFlow 在无法获得 Theano GPU 使用时会出现段错误。

要解决此问题,请让 NVIDIA 驱动程序仅向 TensorFlow 显示您希望他使用此环境变量看到的设备:

CUDA_VISIBLE_DEVICES=0 python ...

【讨论】:

以上是关于TensorFlow 可以与 Theano 一起安装吗?的主要内容,如果未能解决你的问题,请参考以下文章

开源 | 为Go语言设计的机器学习库Gorgonia:对标TensorFlow与Theano

keras 后端 theano/tensorflow

Theano / Pytorch / Tensorflow 可以自动计算以下梯度吗?

Seq2seq强化学习实战 (Pytorch, Tensorflow, Theano)

TensorFlow 1.0 在 Windows 上看不到 GPU(但 Theano 有)

如何检查 Keras 后端是 tensorflow 还是 theano