尝试验证安装时,首次安装 TensorFlow 会出错。 CUDA_ERROR_OUT_OF_MEMORY

Posted

技术标签:

【中文标题】尝试验证安装时,首次安装 TensorFlow 会出错。 CUDA_ERROR_OUT_OF_MEMORY【英文标题】:First install of TensorFlow gives error when tried validating the installation. CUDA_ERROR_OUT_OF_MEMORY 【发布时间】:2018-07-26 01:13:23 【问题描述】:

我正在使用带有 jupyter 笔记本的 conda env keras 运行。首先只安装CPU,然后安装GPU。尝试仅使用 GPU TF 制作另一个环境,但仍然出现相同的错误。 有人可以给我方向吗? 编辑:操作是标准的,安装了 CUDA 9.0 并且在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin 插入了文件 cudnn64_7.dll。

import tensorflow as tf
hello = tf.constant('Hello')
sess = tf.Session()
print(sess.run(hello))

    2018-02-15 10:52:30.240960: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructi
ons that this TensorFlow binary was not compiled to use: AVX AVX2
2018-02-15 10:52:30.410969: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\core\common_runtime\gpu\gpu_device.cc:1105] Found device 0 with pro
perties:
name: GeForce GTX 1050 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.392
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.86GiB
2018-02-15 10:52:30.410969: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\core\common_runtime\gpu\gpu_device.cc:1195] Creating TensorFlow dev
ice (/device:GPU:0) -> (device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:0
1:00.0, compute capability: 6.1)
2018-02-15 10:52:32.394083: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 3.53G (
3790774272 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.482088: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 3.18G (
3411696640 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.527090: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.86G (
3070526976 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.551092: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.57G (
2763474176 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.574093: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.32G (
2487126784 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.595094: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.08G (
2238414080 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.613095: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 1.88G (
2014572800 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.629096: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 1.69G (
1813115648 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.645097: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 1.52G (
1631804160 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:32.658098: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 1.37G (
1468623872 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-02-15 10:52:43.783734: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\3
6\tensorflow\core\common_runtime\gpu\gpu_device.cc:1195] Creating TensorFlow dev
ice (/device:GPU:0) -> (device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:0
1:00.0, compute capability: 6.1)

【问题讨论】:

您是否安装了正确的 CuDNN 库以及相应的 CUDA 工具包? @SimbarasheTimothyMotsi 是的,我安装了 CUDA 9.0 和插入 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin 的 cudnn64_7.dll。 您是否将 cuDNN v6.0 文件安装在其他 .dll 文件的路径中? 我为 CUDA 9.0 解压了 cuDNN 7.0.5,获取了 cudnn64_7.dll 并粘贴到安装了 CUDA 的 bin 文件夹中。 【参考方案1】:

你需要CuDNN V6.0,可以查看需求https://www.tensorflow.org/install/install_windows 检查“运行支持 GPU 的 TensorFlow 的要求”

【讨论】:

我已经安装了 V6。这导致它缺少 CUDA 8.0。 developer.nvidia.com/rdp/cudnn-download 这里没有 CUDA 9.0 的 v6。 很抱歉忘记提及 CuDNN 库及其工具包。我的错,很高兴它现在可以工作了。 它不工作。我已经安装了 CUDA 9.0 和 cuDNN 7。真的不知道为什么 tensorflow 网站建议安装 CUDA 9.0 和 cuDNN 6。它不适合。 据我了解,cuda 8.0 与 CuDNN 6.0 齐头并进,cudnn64_7.dll 也是必不可少的。大多数人忘记将 CUDA 文件放在系统路径中【参考方案2】:

问题是官方网站的安装说明中的拼写错误。在 GitHub 上编写了 CuDNN 7。

【讨论】:

以上是关于尝试验证安装时,首次安装 TensorFlow 会出错。 CUDA_ERROR_OUT_OF_MEMORY的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow验证码识别

TensorFlow 不使用 GPU

尝试安装 Tensorflow 时,Ubuntu 上的“设备上没有剩余空间”

首次安装应用时 UIWebview 不加载内容

使用TensorFlow 来实现一个简单的验证码识别过程

Tensorflow:GPU 加速仅在首次运行后发生