我无法导入 tensorflow-gpu
Posted
技术标签:
【中文标题】我无法导入 tensorflow-gpu【英文标题】:I can't import tensorflow-gpu 【发布时间】:2019-05-17 00:36:54 【问题描述】:我已经使用pip install tensorflow
成功安装了 tensorflow,并且一切正常。
我也可以使用pip install tensorflow-gpu
成功安装 tensorflow-gpu,但我无法在我的 python 脚本中导入它:
import tensorflow-gpu
File "<stdin>", line 1
import tensorflow-gpu
^
SyntaxError: invalid syntax
我已经安装了 CUDA v9.0 并运行 windows 10
【问题讨论】:
***.com/questions/48060769/…的可能重复 你不需要导入tensorflow-gpu,如果你安装好了cuda
和cudnn
,你就可以从tensorflow访问gpu了。
但是我怎样才能确保 tensorflow 使用我的 gpu?你的意思是如果我在我的脚本中导入 tensorflow 会自动使用我的 gpu?
***.com/questions/38559755/… 看哪个GPU的tf知道,除非明确定义,否则会使用GPU(如果可能的话)。
当我执行device_lib.list_local_devices()
时我的gpu没有出现我可能因为我在虚拟环境中而找不到我的gpu?
【参考方案1】:
pypi 上的包名为 tensorflow-gpu,但您只需使用“tensorflow”导入即可
import tensorflow as tf
【讨论】:
您可以先检查您的 GPU 是否正在被使用。如果您的 GFX 卡来自 NVidia,Tensorflow 将使用您的 GPU。如果您有 AMD 卡,您将检查您的卡是否受PlaidML
支持。如果是,请安装PlaidML
,告诉 TF 使用它,然后离开。检查 GPU 使用情况 Windows 10:windowscentral.com/how-track-gpu-performance-data-windows-10 PlaidML:github.com/plaidml/plaidml
它同时具有 GPU 和 CPU 实现。但是当操作分配给设备时,GPU设备将被优先考虑。要找出使用了哪个设备,您可以像这样启用日志设备放置 - sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
我的 GFX 来自 NVidia,但它不使用我的 gpu(我有一个 gtx1050),并且“sess”中存储的任何内容都是 >>> sess <tensorflow.python.client.session.Session object at 0x000001E2587F8C18>
【参考方案2】:
要确保 tensorflow 包正在使用您的 GPU,请执行以下操作:
import tensorflow as tf
sess = tf.Session()
查看控制台上的输出,如果它显示了有关创建会话的 GPU 信息,如下所示。
请注意信息中的“GeForce 940MX”。另请注意,如果计算能力得分高于 3.5,Tensorflow 将仅使用 Nvidia GPU。更多关于 here.
如果不使用 GPU,则不会输出 GPU 信息,只会显示类似以下内容:
【讨论】:
我有第二个输出,可能是因为我在虚拟环境中运行 tf 吗? 不,这意味着您使用的是 GPU 版本。我建议通过pip uninstall tensorflow
卸载 tensorflow 并重试。
等等...我必须删除哪个并重新安装?我将它们都删除并再次安装正常的 tensorflow。
这样做:pip uninstall tensorflow
,我认为您同时安装了 CPU 和 GPU 版本,因此造成了混乱。如果你这样做 pip uninstall tensorflow-gpu
它会卸载 tensorflow GPU。如果你这样做 pip uninstall tensorflow
它会卸载 tensorflow CPU。
是的,现在我尝试了普通的,但没有任何效果,我现在正在尝试使用 gpu 的以上是关于我无法导入 tensorflow-gpu的主要内容,如果未能解决你的问题,请参考以下文章