我已经花了相当长的时间在Stack Overflow和其他地方寻找答案,但是没有找到任何东西。
大家好,
我正在使用Tensorflow和Keras。我有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)
已解决: 请查看评论中的解决方案。 感谢所有提供帮助的人!
我是新手,非常感谢任何帮助! 谢谢。
pip list
命令并检查所有包含tensorflow
的行来确认你是否安装了多个 tensorflow 版本。 - P-Gnpip uninstall tensorflow
。 - Manolo Santospip install --ignore-installed --upgrade
命令,现在这个from tensorflow.python.client import device_lib print(device_lib.list_local_devices())
显示gpu作为其中一个设备。 - valegianstensorflow-gpu
已经被包含在tensorflow
中。https://www.tensorflow.org/install/gpu - lineage