【发布时间】:2017-12-03 09:19:01
【问题描述】:
我已经花费了相当多的时间来挖掘堆栈溢出并寻找答案,但找不到任何东西
大家好,
我正在运行带有 Keras 的 Tensorflow。 我 90% 确定我安装了 Tensorflow GPU,有没有办法检查我安装了哪个?
我试图从 Jupyter notebook 运行一些 CNN 模型,我注意到 Keras 正在 CPU 上运行模型(检查任务管理器,CPU 处于 100%)。
我尝试从 tensorflow 网站运行此代码:
# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))
这就是我得到的:
MatMul: (MatMul): /job:localhost/replica:0/task:0/cpu:0
2017-06-29 17:09:38.783183: I c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\common_runtime\simple_placer.cc:847] MatMul: (MatMul)/job:localhost/replica:0/task:0/cpu:0
b: (Const): /job:localhost/replica:0/task:0/cpu:0
2017-06-29 17:09:38.784779: I c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\common_runtime\simple_placer.cc:847] b: (Const)/job:localhost/replica:0/task:0/cpu:0
a: (Const): /job:localhost/replica:0/task:0/cpu:0
2017-06-29 17:09:38.786128: I c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\common_runtime\simple_placer.cc:847] a: (Const)/job:localhost/replica:0/task:0/cpu:0
[[ 22. 28.]
[ 49. 64.]]
这表明我正在 CPU 上运行,出于某种原因。
我有一台 GTX1050(驱动版本 382.53),我安装了 CUDA、Cudnn 和 tensorflow,没有任何问题。我也安装了 Visual Studio 2015,因为它被列为兼容版本。
我记得 CUDA 提到安装了不兼容的驱动程序,但如果我没记错的话,CUDA 应该安装了自己的驱动程序。
编辑: 我运行了这些命令来列出可用的设备
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
这就是我得到的
[name: "/cpu:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 14922788031522107450
]
还有很多这样的警告
2017-06-29 17:32:45.401429: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
编辑 2
试运行
pip3 install --upgrade tensorflow-gpu
我明白了
Requirement already up-to-date: tensorflow-gpu in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages
Requirement already up-to-date: markdown==2.2.0 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: html5lib==0.9999999 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: werkzeug>=0.11.10 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: wheel>=0.26 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: bleach==1.5.0 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: six>=1.10.0 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: protobuf>=3.2.0 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: backports.weakref==1.0rc1 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: numpy>=1.11.0 in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu)
Requirement already up-to-date: setuptools in c:\users\xxx\appdata\local\programs\python\python35\lib\site-packages (from protobuf>=3.2.0->tensorflow-gpu)
已解决: 检查 cmets 以获取解决方案。 感谢所有帮助过的人!
我是新手,非常感谢任何帮助! 谢谢。
【问题讨论】:
-
您能否通过运行
pip list来检查您是否没有安装多个tensorflow 版本并检查所有带有tensorflow的行 -
你应该卸载 tensorflow 并保留 tensorflow-gpu:
pip uninstall tensorflow -
好的,我想我修好了。我想当我卸载 tensorflow 时,它删除了 init.py 文件或其他东西。所以我运行了
pip install --ignore-installed --upgrade,现在这个from tensorflow.python.client import device_lib print(device_lib.list_local_devices())将gpu 显示为设备之一。 -
我尝试了上述步骤,它没有将 gpu 显示为设备。 Tensorflow-gpu 和 tensorflow-tensorboard 显示在已安装列表中。有什么帮助吗?
-
对于ver>1.15,
tensorflow-gpu包含在tensorflowtensorflow.org/install/gpu中
标签: tensorflow keras nvidia cudnn