我已经使用bazel构建了syntaxnet和tensorflow服务。两者都嵌入了自己的(部分?)拷贝张量流本身。我已经遇到了这样的问题,我想在一个脚本中“导入”一些tensorflow服务的部分,这些脚本“存在”我无法弄清楚的语法网树中(没有做一些非常丑陋的事情)。
现在我想要“tensorboard”,但这显然不会构建为syntaxnet或tensorflow-serving中嵌入的tensorflow的一部分。
所以现在我确定“我做错了”。我应该如何组合由各种独立的bazel工作区构建的工件?
特别是,我如何构建tensorflow(with tensorboard)AND syntaxnet AND tensorflow-serving并让它们“安装”以供使用,这样我就可以开始在一个完全独立的目录/存储库中编写自己的脚本了?
“./bazel-bin/blah”真的是与bazel的最后一场比赛吗?没有“make install”等价吗?
答案 0 :(得分:0)
你是对的,目前Tensorboard目标只暴露在Tensorflow回购中,而不是其他两个使用它。这意味着要实际启动Tensorboard,您需要自己检查Tensorflow并在那里编译/运行Tensorboard(将其指向生成的logdir)。
实际上,在训练期间在日志目录中生成训练摘要数据,在tensorflow / models repo中就是这种情况。看起来像https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/中使用了SummaryWriter,所以也许你可以添加类似于syntaxnet的东西。如果这不起作用并且您无法链接Tensorboard,我建议在张量流/模型中提交问题以在那里添加对Tensorboard的支持。你不应该在Tensorflow服务中使用Tensorboard。
在syntaxnet中导入Tensorflow服务的部分将要求您将这个新的依赖性添加为子模块(如使用tensorflow完成)或者可能在WORKSPACE文件中添加git_repository(如果可行)。我们从来没有尝试过这种方式,因此这个未经测试的用例可能会出现问题。如果您遇到问题,请提出问题。
至于安装和运行,Tensorflow服务目前还不支持。它是一组直接链接到服务器二进制文件并编译的库(repo提供了一些示例服务器和客户端),但是现在没有简单的安装服务器"。然而,Tensorflow和Tensorboard可以从任何地方安装和链接。