TensorFlow-入门问题(添加节点结果= 0)



我是TensorFlow的新手,并安装了它并使入门教程。总是有警告:您的内核可能没有在NUMA支持的情况下构建,并且添加的结果始终为0(请参见下面的代码(。

我已经做了什么:

1.您已经安装了cudnn,如果是,则到了什么目录?(它应包含文件cudnn64_5.dll。( ->是

2.是您的%路径%环境变量中的该目录? ->是

3.如果不是,则将该目录添加到%路径%环境变量 ->是

有什么想法吗?非常感谢!

 Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
    H:>python
    Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AM
    D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowstre
am_executordso_loader.cc:128] successfully opened CUDA library cublas64_80.dll
locally
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowstre
am_executordso_loader.cc:128] successfully opened CUDA library cudnn64_5.dll lo
cally
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowstre
am_executordso_loader.cc:128] successfully opened CUDA library cufft64_80.dll l
ocally
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowstre
am_executordso_loader.cc:128] successfully opened CUDA library nvcuda.dll local
ly
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowstre
am_executordso_loader.cc:128] successfully opened CUDA library curand64_80.dll
locally
>>> node1 = tf.constant(3.0, tf.float32)
>>> node2 = tf.constant(4.0)
>>> print(node1, node2)
Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=f
loat32)
>>> sess = tf.Session()
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowcore
common_runtimegpugpu_device.cc:885] Found device 0 with properties:
name: Quadro K1100M
major: 3 minor: 0 memoryClockRate (GHz) 0.7055
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.54GiB
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowcore
common_runtimegpugpu_device.cc:906] DMA: 0
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowcore
common_runtimegpugpu_device.cc:916] 0:   Y
I c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowcore
common_runtimegpugpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (d
evice: 0, name: Quadro K1100M, pci bus id: 0000:01:00.0)
E c:tf_jenkinshomeworkspacerelease-windevicegpuoswindowstensorflowcore
common_runtimegpugpu_device.cc:586] Could not identify NUMA node of /job:loca
lhost/replica:0/task:0/gpu:0, defaulting to 0.  Your kernel may not have been bu
ilt with NUMA support.
>>> print(sess.run([node1, node2]))
[3.0, 4.0]
>>> node3 = tf.add(node1, node2)
>>> print("node3: ", node3)
node3:  Tensor("Add:0", shape=(), dtype=float32)
>>> print("sess.run(node3): ",sess.run(node3))
sess.run(node3):  7.0
>>> a = tf.placeholder(tf.float32)
>>> b = tf.placeholder(tf.float32)
>>> adder_node = a + b
>>> print(sess.run(adder_node, {a: 3, b:4.5}))
0.0
>>> print(sess.run(adder_node, {a: [1,3], b: [2, 4]}))
[ 0.  0.]

不完全确定是否是它,但这可能是因为您的NVIDIA Quadro K1100M GPU的CUDA计算能力,即3.0。安装文档表示应该足够,但是在此常见问题解答中说您需要3.5。看着这个来源,看起来确实需要3.5;我不知道的是,如果您的计算功能低于3.5(这很不错(,还是试图使用它,而失败而没有错误消息(这很糟糕(。

,是否忽略了XLA。

如果碰巧确实是问题(并且假设您想避免升级硬件(,那么您可能仍然可以通过禁用XLA并在自定义构建中添加对CUDA 3.0的支持(如说明(如说明在某种程度上(。

最新更新