tensorflow - 在 Windows 上从源代码构建 Tensorflow 2.0 失败“找不到 bazel-bin”
问题描述
我正在尝试在 Windows 上构建 Tensorflow 2.0 以利用 AVX2 支持,因为“pip install tensorflow”的默认包不包括 AVX2 支持。我在这里遵循指南: https ://www.tensorflow.org/install/source_windows
经过多次失败的构建,在将环境变量设置为 Visual Studio 2017 后,我终于成功构建了。从 c:\tmp\tensorflow 运行的最终命令(耗时 9 小时完成)是:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package --define=no_tensorflow_py_deps=true
说明中的下一步“构建包”说运行
bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg
如果我直接这样做(从 c:\tmp\tensorflow),我会收到错误“系统找不到指定的路径。”。
然后我查看了构建的最终消息:
C:/users/john.doe/_bazel_john.doe/3ttaaxce/execroot/org_tensorflow/bazel-out/x64_windows-opt/bin/tensorflow/tools/pip_package/build_pip_package.exe
INFO:经过时间:32810.307s,关键路径:25586.71s
信息:8885 进程:8885 本地。
信息:构建成功完成,总共 11312 次操作
从这里看起来 build_pip_package.exe 在不同的位置,所以我跑了
C:/users/john.doe/_bazel_john.doe/3ttaaxce/execroot/org_tensorflow/bazel-out/x64_windows-opt/bin/tensorflow/tools/pip_package/build_pip_package C:/tmp/tensorflow_pkg
但这导致了错误:
2019 年 10 月 11 日星期五 08:30:40 PDT : === 在目录中准备源:/tmp/tmp.B207TraE5w
找不到 bazel-bin。您是否从构建树的根目录运行?
有谁知道可能出了什么问题?
解决方案
我通过从源代码重新编译到新目录 c:\tmp2\tensorflow 解决了这个问题。这次build_pip_package.exe
是在正确的位置,我能够成功构建 pip 包并安装。
推荐阅读
- amazon-web-services - 如何在通过 github 操作部署无服务器应用程序时包含未版本控制的文件?
- google-app-engine - Google Datastore - 如果实体不存在,祖先查询似乎不是强一致的
- javascript - React.js HTML 中的选项卡式组件包括
- process - 文件存在,但 shell 无法启动进程
- c# - 使用 C# RegEx 检索在源字符串中找到的匹配字符串列表?
- php - 数组中的 if 语句 - 给定购物车元数据和变体 id | 电子商务
- python - 将视频转换为 3 值数组
- bigdata - 无法在 Sqoop 导出中自定义的映射器数量
- logistic-regression - 逻辑回归系数
- ruby-on-rails - 通过关联创建带有 has_many 的动作测试