Tensorflow GPU与CPU的安装库之间的差异

时间:2018-10-03 10:11:44

标签: python tensorflow

最近,我想将python库移动到pendrive上,以在在Workstation和Laptop之间切换时保持所有库不变。 (另外,如果我更新了一个,也更新了另一个)

为此,我在pendrive上安装了tensorflow-gpu版本(我的笔记本电脑没有GPU)。在PC(它可以无问题地检测并使用我的GPU)和笔记本电脑(它会自动使用我的CPU)上,一切正常运行,没有问题。

这就是我的问题所在。

有什么区别
tensorflow-gpu 

还有

tensorflow

? (因为未找到GPU,所以tensorflow-gpu自动使用CPU版本。)

区别仅在于对GPU的支持吗?那为什么还要拥有非GPU版本的tensorflow?

也可以这样进行吗?还是应该创建虚拟环境来为CPU和GPU保留单独的安装?


编辑: 我能找到的最接近答案是 How to develope for tensor flow with gpu without a gpu

但是它只表明在CPU平台上使用tensorflow-gpu完全可以,但是它仍然不能回答我的第一个问题。另外,由于tensorflow不断发布新的更新,答案可能已过时。


修改2: 我已经在工作站上使用GTX 1070安装了tensorflow-gpu版本(因此安装成功)。

我也了解到,不同之处在于pip install tensorflow-gpu将需要支持CUDA的设备才能安装,但是我的问题更多地是关于库的使用,因为在版本上使用tensorflow-gpu版本时我没有遇到任何问题我的笔记本电脑(没有GPU),所有脚本运行都没有错误。

(还从上方删除了pip安装,以避免造成混乱)


修改3:

在没有GPU且与设置tensorflow-gpu相同的GPU的系统上也未运行CUDA_VISIBLE_DEVICES=-1

3 个答案:

答案 0 :(得分:2)

要注意的一件事:即使您的系统中没有GPU,也可以安装CUDA。

对于软件包tensorflowtensorflow-gpu,我希望这可以消除混乱。 是/否的意思是“ 在执行程序包时,程序包会开箱即用 import tensorflow as tf”吗?这里是区别:

| Support for TensorFlow libraries | tensorflow | tenosorflow-gpu |
|----------------------------------|------------|-----------------|
| cpu-only                         |    yes     |       no        |
| gpu with cuda+cudnn installed    |    yes     |       yes       |
| gpu without cuda+cudnn installed |    yes     |       no        |

编辑:通过删除CUDA + CuDNN env变量,确认了no系统和cpu-only上的gpu without cuda+cudnn installed答案。

答案 1 :(得分:0)

tensorflow-gpu需要cuda / cudnn。 tensorflow没有。 pip不会为您安装cuda(conda会为您安装cuda),因此pip install tensorflow-gpu在没有nvidia gpu的大多数系统上都无法使用。

答案 2 :(得分:0)

从TensorFlow2.0起,只是快速的(不必要的)注释...这些没有分开,您只需安装tensorflow(因为如果您安装了适当的卡/ CUDA,这将包括GPU支持)。