繁体   English   中英

在Windows 10上获取cudnn.h的bazel构建tensorflow-系统找不到指定的文件

[英]bazel build tensorflow on windows 10 getting cudnn.h- system cannot find the file specified

在Windows 10中尝试使用bazel和python构建tensorflow-gpu时,我不断收到此错误消息:

Cuda Configuration Error: Error reading C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/cuda/include/cudnn.h: ja
va.io.IOException: ERROR: src/main/native/windows/processes-jni.cc(239): CreateProcessW("grep" --color=never -A1 -E "#de
fine CUDNN_MAJOR" "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/cuda/include/cudnn.h"): The system cannot fin
d the file specified.

这是我要运行的命令:

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

我已经确认C:/ Program Files / NVIDIA GPU Computing Toolkit / CUDA / v9.2 / cuda / include / cudnn.h在那里。

我试过从VS2015 x64本机工具命令提示符,cmd和powershell运行它,并得到相同的错误。

我正在使用bazel 0.16.1,CUDA 9.2,Anaconda3(Python 3.6.5)和CUDNN 7.2.1。 通过将其cuda文件夹解压缩到我的C:\\ Program Files \\ NVIDIA GPU Computing Toolkit \\ CUDA \\ v9.2文件夹(即整个“ cuda”文件夹)中,我“安装”了CUDDNN文件。 我在运行configure.py时在cudnn路径问题中指定了C:\\ Program Files \\ NVIDIA GPU Computing Toolkit \\ CUDA \\ v9.2 \\ cuda路径。 configure.py完成,没有错误。

我还尝试将CUDNN文件直接放置在C:\\ Program Files \\ NVIDIA GPU Computing Toolkit \\ CUDA \\ v9.2文件夹(而不是其中的cuda文件夹)中,并指定默认位置,并且仍然得到基本相同的错误:“ C:/ Program Files / NVIDIA GPU Computing Toolkit / CUDA / v9.2 / include / cudnn.h“:系统找不到指定的文件。

我已经将它们添加到我的路径中(并重新启动):

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\libnvvp
C:\tools\msys64
C:\tools\bazel
C:\tools\bazel\bazel.exe
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\extras\CUPTI\libx64

这些是我设置的系统变量:

BAZEL_SH  C:\tools\msys64\usr\bin\bash.exe
BAZEL_VC  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
BAZEL_VS  C:\Program Files (x86)\Microsoft Visual Studio 14.0

这是完整的错误:

ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': error loading package 'tensorflow/tools/pip_package'
: Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Trac
eback (most recent call last):
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 1458
                _create_local_cuda_repository(repository_ctx)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 1185, in _create_local_cuda_repository
                _get_cuda_config(repository_ctx)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 909, in _get_cuda_config
                _cudnn_version(repository_ctx, cudnn_install_base..., ...)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 584, in _cudnn_version
                find_cuda_define(repository_ctx, cudnn_header_dir, "c...", ...)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 534, in find_cuda_define
                auto_configure_fail(("Error reading %s: %s" % (str(h...)))
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 315, in auto_configure_fail
                fail(("\n%sCuda Configuration Error:%...)))

Cuda Configuration Error: Error reading C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/cuda/include/cudnn.h: ja
va.io.IOException: ERROR: src/main/native/windows/processes-jni.cc(239): CreateProcessW("grep" --color=never -A1 -E "#de
fine CUDNN_MAJOR" "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/cuda/include/cudnn.h"): The system cannot fin
d the file specified.

WARNING: Target pattern parsing failed.
ERROR: error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_
defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 1458
                _create_local_cuda_repository(repository_ctx)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 1185, in _create_local_cuda_repository
                _get_cuda_config(repository_ctx)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 909, in _get_cuda_config
                _cudnn_version(repository_ctx, cudnn_install_base..., ...)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 584, in _cudnn_version
                find_cuda_define(repository_ctx, cudnn_header_dir, "c...", ...)
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 534, in find_cuda_define
                auto_configure_fail(("Error reading %s: %s" % (str(h...)))
        File "C:/tensorflow/third_party/gpus/cuda_configure.bzl", line 315, in auto_configure_fail
                fail(("\n%sCuda Configuration Error:%...)))

Cuda Configuration Error: Error reading C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/cuda/include/cudnn.h: ja
va.io.IOException: ERROR: src/main/native/windows/processes-jni.cc(239): CreateProcessW("grep" --color=never -A1 -E "#de
fine CUDNN_MAJOR" "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/cuda/include/cudnn.h"): The system cannot fin
d the file specified.

有什么想法我可能做错了什么,或者我可能错过了什么,或者接下来我可以检查什么?

问题是cuda_configure.bzl的错误:它使用ctx.execute而不是ctx.action.run_shell 如果您愿意向TensorFlow提交错误 ,那就太好了!

要解决此问题,请执行以下操作:将c:\\tools\\msys64\\usr\\bin到PATH。 那就是grep.exe所在的grep.exe ,因此ctx.execute可以在PATH上找到grep

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM