在GPU上使用Tensorflow会中断内核并产生错误:“... TensorFlow二进制文件未编译使用:AVX AVX2”

时间:2017-11-17 18:07:14

标签: tensorflow gpu gpu-programming tensorflow-gpu

真正的noob在这里 - 尝试使用在GPU上运行的tensorflow来构建CNN但我正在努力(在CPU上测试它并且代码运行正常)。当我在GPU上运行代码时

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^laravel/public
    RewriteRule ^(.*)$ laravel/public/$1 [L]
</IfModule>

事情开始但几秒后我得到一个错误,标题如下(这不仅仅是一个通知 - 它实际上阻止了代码继续运行):

device_name = "GPU:0"
with tf.device(device_name):
    # Code here

以及以下细节(仅包括前几行,因为它很长且重复)

An error ocurred while starting the kernel

我很高兴它找到了设备 - 重要的一点似乎是:

2017 11:37:20.918191: I C:\tf_jenkins\home\workspace\rel‑win\M\windows‑gpu\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2017 11:37:21.959053: I C:\tf_jenkins\home\workspace\rel‑win\M\windows‑gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1030] Found device 0 with properties: 
name: GeForce GTX 1050 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.62
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.29GiB
2017 11:37:21.959079: I C:\tf_jenkins\home\workspace\rel‑win\M\windows‑gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) ‑> (device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
2017 11:37:22.119554: I C:\tf_jenkins\home\workspace\rel‑win\M\windows‑gpu\PY\35\tensorflow\core\common_runtime\direct_session.cc:299] Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 ‑> device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1

我试图使用

忽略警告
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

但这不会改变任何事情。

我仍在学习基础知识,因此我们将非常感谢所有指导。谢谢。

1 个答案:

答案 0 :(得分:0)

我认为这里有两件不同的事情。您是否尝试过不指定设备名称? TensorFlow将自动使用它有权访问的所有GPU。

AVX问题是因为您可能使用pip安装了TensorFlow,但如果您使用bazel编译它,那些警告就会消失。

如果没有看到'重复'堆栈跟踪,就很难确切知道发生了什么。