【问题标题】:How to combine bazel artifacts from tensorflow tensorflow-serving and syntaxnet?如何结合来自 tensorflow tensorflow-serving 和 syntaxnet 的 bazel 工件?
【发布时间】:2016-06-13 19:05:13
【问题描述】:

我已经使用 bazel 构建了 syntaxnet 和 tensorflow-serving。两者都嵌入了自己的(部分?)张量流本身的副本。我已经有一个问题,我想在一个脚本中“导入”一些 tensorflow-serving 部分,该脚本“存在”在我无法弄清楚的语法树中(不做一些非常丑陋的事情)。

现在我想要“tensorboard”,但这显然不是作为 syntaxnet 或 tensorflow-serving 内的嵌入式 tensorflow 的一部分构建的。

所以现在我确定“我做错了”。我应该如何组合由各种单独的 bazel 工作区构建的工件?

特别是,我如何构建 tensorflow(使用 tensorboard)和 syntaxnet 和 tensorflow-serving 并“安装”它们以供使用,以便我可以开始在完全独立的目录/存储库中编写自己的脚本?

“./bazel-bin/blah”真的是 bazel 的最终游戏吗?没有“make install”等价物吗?

【问题讨论】:

    标签: tensorflow bazel syntaxnet tensorflow-serving


    【解决方案1】:

    你是对的,目前 Tensorboard 目标仅在 Tensorflow 存储库中公开,而不是其他两个使用它的目标。这意味着要真正启动 Tensorboard,您需要自行检出 Tensorflow 并在那里编译/运行 Tensorboard(将其指向生成的 logdir)。

    实际上在日志目录中生成训练摘要数据是在训练期间完成的,在您的情况下是在 tensorflow/models 存储库中。看起来inception_train.py 中使用了SummaryWriter,所以也许你可以添加类似于syntaxnet 的东西。如果这不起作用并且您无法链接 Tensorboard,我建议在 tensorflow/models 中提交一个问题,以在那里添加对 Tensorboard 的支持。你不应该在 Tensorflow Serving 中需要 Tensorboard。

    在 syntaxnet 中导入 Tensorflow Serving 的部分需要您将此新的依赖添加为子模块(就像使用 tensorflow 完成的那样),或者如果可行,可能会在 WORKSPACE 文件中添加一个 git_repository。我们从来没有尝试过这个,所以这个未经测试的用例可能会出现问题。如果您遇到此问题,请提出问题。

    至于安装和运行,Tensorflow Serving 目前还不支持。它是一组库,您可以直接链接到服务器二进制文件并进行编译(repo 提供了一些示例服务器和客户端),但现在没有简单的“已安装服务器”。然而,Tensorflow 和 Tensorboard 可以在任何地方安装和链接。

    【讨论】:

    • 谢谢。我想我只是不明白存储库是安装位置的 bazel 心态。要针对“x”进行构建,请检查它并将您的 WORKSPACE 指向它。我习惯于构建然后安装,然后针对 /usr/include/*、/usr/lib64/* 和 cosuming /usr/bin、/usr/lib/pythonx.y/site-packages 等进行编译。Bazel 是一个不同的型号。我会按照你建议的方式试一试。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多