Windows上的Tensorflow自定义编译

时间:2017-08-30 13:53:24

标签: tensorflow compilation bazel cudnn

所以,我已经通过Chocolatey安装了Bazel,安装了Python 3.5和2.7,安装了CUDA v8和cuDNN v6,并安装了JDK 8.0,我现在尝试在Windows 10上自定义构建TensorFlow设备,AVX,AVX 2和CUDA。 TensorFlow-GPU,预先构建的版本,确实有效,我已经测试并成功运行。

我已经按照TensorFlows'中其他文章的说明进行了操作。实际站点(尝试调整Linux / Mac安装中的某些部分),并在此处。我做得最远的是;通过Msys2克隆Github存储库,运行configure.py,然后尝试通过bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package构建我收到错误,其标题为:

  

读取java.io.IOException时出错:CreateProcess():系统找不到指定的文件。   :C:/ Program Files / NVIDIA GPU计算工具包/ CUDA / v8.0 / include / cudnn.h

我已经仔细检查过,该文件确实存在,所以我不确定为什么我会收到此错误。

编辑:也试图通过Powershell运行,达到了同样的目的。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

尝试在Windows上构建Tensorflow时,我遇到了完全相同的错误(使用cuDNN 5.1)。我通过从msys2终端启动bazel(而不是从windows命令提示符)并在尝试构建之前手动设置BAZEL_SH环境变量来修复它。

export BAZEL_SH=c:/tools/msys64/usr/bin/bash.exe
bazel build -c opt --config=win-cuda tensorflow/cc:cc_ops

答案 1 :(得分:0)

以下步骤帮助我在Windows 10上编译Function getTime(TimeAdd As Date) For Each ws In Worksheets If ws.Name <> ActiveSheet.Name Then If ws.Range("B29").Value = TimeAdd Then Result = True Exit For End If End If Next If Result = True Then MsgBox "There is an overlap." End Function

Tensorflow

但是经过1小时的编译后,又出现了另一个错误:

  

C:\工具\ msys64 \ tmp_bazel_dmitry \ x1e5egqw \ execroot \ org_tensorflow \外部\ protobuf_archive \蟒\谷歌\ protobuf的\内部\ api_implementation.cc   :致命错误C1083:无法打开编译器生成的文件:'':无效   参数Target // tensorflow / tools / pip_package:build_pip_package   无法建立