最近,我想将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
答案 0 :(得分:2)
要注意的一件事:即使您的系统中没有GPU,也可以安装CUDA。
对于软件包tensorflow
和tensorflow-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支持)。