“没有输出的Genrules没有意义” - Bazel Windows 10版本

时间:2017-05-18 04:02:27

标签: tensorflow bazel

我一直在尝试使用CUDA 8.0在Windows 10上使用bazel 0.4.2编译tensorflow 1.1 inception。

我无法在线找到相应的错误。

C:\Users\me\Anaconda3\envs\tensorflow_gpu\tensorflow>bazel build --config=opt tensorflow/examples/image_retraining:retrain
ERROR: C:/users/me/appdata/local/temp/_bazel_simon/qco1pmlq/external/local_config_cuda/cuda/BUILD:172:12: in outs attribute of genrule rule @local_config_cuda//cuda:cuda-include: Genrules without outputs don't make sense.

在深入查看错误消息中指定的Build文件后,我有这些缺少输入的genrules:

genrule(
name = "cuda-include",
outs = [
],
cmd = """
""",
)


genrule(
name = "cuda-nvvm",
outs = [
],
cmd = """
""",
)


genrule(
name = "cuda-extras",
outs = [

],
cmd = """
""",
)

我假设应该已经生成了这些?我有一个遵循该格式的其他规则的示例,但不确定哪些文件以及这是否是正确的方法。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在Windows上使用Bazel进行Tensorflow GPU构建不是很稳定。目前它已从双方打破。

This change刚刚被派去解决Bazel的问题。

this PR将使Cuda配置再次在Windows上运行。

您可以先从HEAD构建Bazel。在PR合并之后,使用您的自定义Bazel从HEAD构建TensorFlow。

Windows上的正确命令是:

bazel build -c opt --config=win-cuda --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc --copt=-w --host_copt=-w tensorflow/tools/pip_package:build_pip_package

仅供参考,有一个用于在Windows上构建TensorFlow的脚本: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/ci_build/windows/gpu/pip/build_tf_windows.sh