【问题标题】:Creating pip package for TensorFlow with GPU support results in 0 byte simple_console_for_windows.zip为具有 GPU 支持的 TensorFlow 创建 pip 包导致 0 字节 simple_console_for_windows.zip
【发布时间】:2018-09-18 20:40:18
【问题描述】:

在成功构建支持 GPU 的 TensorFlow 后,我正在尝试构建 pip 包,但收到一条错误消息,提示它无法读取 simple_console_for_windows.zip 文件。

我已经确认该文件在 C:\tensorflow\bazel-bin\tensorflow\tools\pip_package 文件夹中,但它是 0 字节。

这是我的 pip 构建命令:

bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg

这是完整的错误:

Unzipping simple_console_for_windows.zip to create runfiles tree...
[./bazel-bin/tensorflow/tools/pip_package/simple_console_for_windows.zip]
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of ./bazel-bin/tensorflow/tools/pip_package/simple_console_for_windows.zip or
        ./bazel-bin/tensorflow/tools/pip_package/simple_console_for_windows.zip.zip, and cannot find ./bazel-bin/tensorflow/tools/pip_package/simple_console_for_windows.zip.ZIP, period.

我在 Windows 10 上,使用 Bazel 0.16.1、Tensorflow 1.11、CUDA 9.2 和 CUDNN 7.2.1。

我的构建命令是:

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

有人知道我可以尝试或检查什么来构建 pip 包吗?

【问题讨论】:

    标签: windows tensorflow bazel


    【解决方案1】:

    这是一个解决方法的未解决问题。 https://github.com/tensorflow/tensorflow/issues/20332

    1. 编辑以下文件以删除所有带有“.zip”的行。

      bazel-out/x64_windows-opt/bin/tensorflow/tools/pip_package/simple_console_for_windows.zip-0.params

    2. 运行以下命令行以生成所需的 zip 文件,在我的情况下约为 107 MB。详细选项将列出所有文件。

      external\bazel_tools\tools\zip\zipper\zipper.exe vcC bazel-out/x64_windows-opt/bin/tensorflow/tools/pip_package/simple_console_for_windows.zip @bazel-out/x64_windows-opt/bin/tensorflow/tools /pip_package/simple_console_for_windows.zip-0.params

    3. 现在原来的 pip build 命令将构建一个 whl。

    【讨论】:

    • 我必须在 point2 中对您的代码进行轻微的路径更改才能使其正常工作。感谢您的回答。我想知道你能不能回答this
    • 我最近在 windows 上成功构建的 tensorflow 是 r1.12。没有上述变化,一切顺利。
    【解决方案2】:

    这是一个已知问题,不幸的是它的根本原因是https://github.com/tensorflow/tensorflow/issues/22390 TF 是一个很大的代码库,当 zip 文件的大小超过 2 GB 时,bazel 的压缩工具会崩溃,因为它们只使用 zip32。

    最终的解决方案是为 bazel 提供一个修复以使用 zip64,以及 TensorFlow 以减轻一些重量,该软件包最近大幅增长。 但是,bazel 团队能够给我们一个解决方法。 只有在构建 pip 包时,您才应该将 --define=no_tensorflow_py_deps=true 添加到您的 bazel 命令中。您仍然无法构建调试二进制文件,但至少您将能够构建发布二进制文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 2017-10-22
      • 2021-02-04
      • 2018-05-19
      • 1970-01-01
      • 2018-04-13
      • 2017-10-04
      • 2020-06-10
      相关资源
      最近更新 更多