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

Tensorflow-入门问题(添加节点结果=0),tensorflow,Tensorflow,我是tensorflow的新手,安装了tensorflow并编写了入门教程。总有这样的警告: 您的内核可能没有使用NUMA支持构建,并且添加的结果总是0(请参阅下面的代码) 我已经做了: 1.您是否安装了CuDNN,如果安装了,安装到哪个目录?(它应该包含文件cudnn64_5.dll。)-->是 2.该目录是否在%PATH%环境变量中?-->对 3.如果没有,则将该目录添加到%PATH%环境变量-->是 有什么想法吗?非常感谢 Microsoft Windows [Version 6.1.7

我是tensorflow的新手,安装了tensorflow并编写了入门教程。总有这样的警告: 您的内核可能没有使用NUMA支持构建,并且添加的结果总是0(请参阅下面的代码)

我已经做了:

1.您是否安装了CuDNN,如果安装了,安装到哪个目录?(它应该包含文件cudnn64_5.dll。)-->是

2.该目录是否在%PATH%环境变量中?-->对

3.如果没有,则将该目录添加到%PATH%环境变量-->是

有什么想法吗?非常感谢

 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_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stre
am_executor\dso_loader.cc:128] successfully opened CUDA library cublas64_80.dll
locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stre
am_executor\dso_loader.cc:128] successfully opened CUDA library cudnn64_5.dll lo
cally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stre
am_executor\dso_loader.cc:128] successfully opened CUDA library cufft64_80.dll l
ocally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stre
am_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll local
ly
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stre
am_executor\dso_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_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_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_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:906] DMA: 0
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:916] 0:   Y
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (d
evice: 0, name: Quadro K1100M, pci bus id: 0000:01:00.0)
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_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,即3.0。说应该足够了,但说你需要3.5。看,它看起来确实需要3.5;我不知道TunSoFrof是否忽略XLA,如果你的计算能力低于3.5(这将是好的),或者相反尝试使用它,并没有错误消息(这将是可怕的)失败。

如果这确实是问题(假设你想避免升级硬件),那么你可能仍然可以在GPU中使用TysFooLoad,只是通过禁用XLA并在自定义构建中添加CUDA 3的支持,如某种程度的解释。

< P>不完全确定是否是这个,但这可能是因为你的NVIDIA Quadro K1100M GPU,即3.0。说应该足够了,但说你需要3.5。看,它看起来确实需要3.5;我不知道的是,如果计算能力低于3.5(这将是好的),或者TunSoFrof忽略XLA,或者尝试使用它,而没有错误消息(这将是可怕的)失败。

如果这确实是问题(假设你想避免升级硬件),你可能仍然可以在XPL中使用TysFooad,只是通过禁用XLA和在自定义构建中添加CUDA 3的支持(如在某种程度上)。

看起来,它在你使用<代码> TF时起作用。如果使用带有占位符的
tf.add
,问题是否仍然存在?或者如果您对常量使用
+
运算符?当我使用int32占位符而不是float 32时,那么当我使用tf.add with placeholder时,计算工作正常。您是否可以在帖子中包含nvidia smi的输出?我不确定您为什么会收到错误的输出,但我会注意关于“NUMA节点“这几乎肯定是在转移视线,与你真正的问题无关。我建议:将NVIDIA驱动程序、CUDA、CuDNN和Tensorflow全部更新为最新版本,并在此处添加这些信息。如果问题仍然存在,我可能会在github上提交一个问题。当您使用带有两个常量的
tf.add
时,它似乎对您有效。如果使用带有占位符的
tf.add
,问题是否仍然存在?或者如果您对常量使用
+
运算符?当我使用int32占位符而不是float 32时,那么当我使用tf.add with placeholder时,计算工作正常。您是否可以在帖子中包含nvidia smi的输出?我不确定您为什么会收到错误的输出,但我会注意关于“NUMA节点”几乎肯定是一个红色鲱鱼,与您的实际问题无关。我建议:将您的NVIDIA驱动程序、CUDA、CUDNN和TunSoRoad全部更新到最新版本,并在这里添加信息。如果问题仍然存在,我可能会在GithuB.xLa上发布一个问题,与该问题无关;默认情况下它不启用。(即使你在配置时打开它)XLA也还没有建立在Windows上。@彼得霍金斯感谢这个信息。我假设它已经被包含了,因为它已经被提到了,但是它确实说是实验。XLA与这个问题没有关系;它没有默认启用(即使你在配置时间打开它)。XLA还没有建立在Windows上。@彼得霍金斯感谢这一信息。我认为它已经包含进来了,因为它已经被提到了,但它确实是实验性的。