【发布时间】:2019-03-08 13:06:33
【问题描述】:
最近,我想将我的 Python 库移动到 pendrive 中,以便在我的工作站和笔记本电脑之间切换时保持所有库不变。 (另外,如果我更新一个,它也会更新到另一个。)
为此,我在我的 pendrive 上安装了一个 tensorflow-gpu 版本(我的笔记本电脑没有 GPU)。在 PC(它可以毫无问题地检测并使用我的 GPU)和笔记本电脑(它会自动使用我的 CPU)上,一切正常。
这就是我的问题所在。和有什么区别
tensorflow-gpu
而且只是
tensorflow
? (因为在没有找到GPU的时候,tensorflow-gpu会自动使用CPU版本。)
区别仅在于 GPU 支持吗?那为什么还有非 GPU 版本的 tensorflow?
另外,这样进行可以吗?或者我应该创建虚拟环境来分别安装 CPU 和 GPU?
我能找到的最接近的答案是 How to develop for tensor flow with gpu without a gpu.
但它只是指定在CPU平台上使用tensorflow-gpu是完全可以的,但它仍然没有回答我的第一个问题。此外,随着 tensorflow 不断发布新的更新,答案可能已经过时。
我使用 GTX 1070 在我的工作站上安装了 tensorflow-gpu 版本(因此安装成功)。
我也理解不同之处在于pip install tensorflow-gpu 需要安装启用 CUDA 的设备,但我的问题更多是关于库的使用,因为在我的笔记本电脑上使用tensorflow-gpu 版本时我没有遇到任何问题(没有 GPU)并且我的所有脚本都运行没有任何错误。
(还从上面删除了 pip install 以避免混淆)
另外,在没有 GPU 的系统上运行 tensorflow-gpu 与设置 CUDA_VISIBLE_DEVICES=-1 不同吗?
【问题讨论】:
-
tensorflow-gpu依赖于 CUDA,并且(至少直到最近的版本,我相信它没有改变)尝试在没有安装 CUDA 的情况下导入它(即正确版本的 CUDA 和 CUDNN)将失败。tensorflow-cpu正确安装后将始终有效。 -
在没有 CUDA 的情况下导入 tensorflow-gpu 不会产生错误,而且效果很好。我现在又检查了一遍以确定。编辑:我还检查了 tensorflow 版本,它是 tensorflow-gpu 而不是 cpu 版本。
-
你是如何安装
tensorflow-gpu的?如果你有this distribution(例如conda install -c anaconda tensorflow-gpu),我认为它会为你在环境中捆绑CUDA/CUDNN(我认为这不是标准pip能够做的事情......而且,它仍然是使其显着更大且加载速度更慢)。 -
我将它安装在我的工作站上(因此安装成功),然后在我的笔记本电脑上使用它。为了澄清,我也会在问题中提到它。
标签: python tensorflow