我正在尝试在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
说明“ Build the package”中的下一步说要运行
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
INFO:8885进程:8885本地。
INFO:构建成功完成,共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
但是这导致错误:
PDT 2019年10月11日星期五08:30:40:===在dir中准备源文件:/tmp/tmp.B207TraE5w
找不到淡色垃圾桶。您是否从构建树的根目录运行?
有人知道怎么了吗?
Bazel创建从bazel-bin
到输出目录的链接。此行为由--symlink_prefix
选项控制。尝试使用--announce_rc
运行bazel,然后查看该选项是否设置在某处-它可能正在创建具有不同名称的链接,或者根本没有创建一个链接。
而且,任何在tensorflow中的程序都假定输出将在bazel-bin
中是错误的。对于节点项目,我们建议使用--symlink_prefix=dist/
,以便将输出输入项目中的dist/bin
。