这是我第一次尝试构建github项目,找出如何构建TF库的工作已经太多了,所以我使用了github项目,该项目提供了一个带有已经为C++ 18.04构建的TF C++ tensorflow_cc的docker镜像。
这看起来是一个很好的开始,但是编译失败了,如下所示:
error: 'TopK' is not a member of 'tensorflow::ops'在一行代码中:
tensorflow::ops::TopK(root.WithOpName(output_name), outputs[0], how_many_labels);然而,根据TF api doc,TopK显然是在tensorflow::ops名称空间中。现在,在您说将此问题报告给tensorflow_cc项目之前,请注意文档中提到的
#include <nn_ops.h>除了nn_ops.h根本不存在于tensorflow repo中!(根据github搜索和克隆中的"find . -name nn_ops.h“。)真正存在的是"tensorflow/core/ops/nn_ops.cc“。
我知道这是一个初步的问题,我肯定遗漏了一些简单的东西,但很难理解API文档和存储库之间的冲突。我正在尝试构建的示例代码之前已经构建并运行过,但我无法获得任何支持。最近有人用TopK构建了TF C++项目吗?对于开始使用TF C++的最佳方式有什么建议吗?
发布于 2019-03-03 05:11:45
tensorflow_cc项目提供了静态绑定构建环境和共享库或动态绑定环境(构建的Tensorflow库的静态或共享使用)。我试图用floopcz/tensorflow_cc:ubuntu-static docker image构建这个项目,静态版本。使用共享库镜像floopcz/tensorflow_cc:ubuntu-shared构建没有问题。
@jdehesa我相信所需的头部已经按照您的建议生成了。请参阅解释here。然而,Tensorflow API doc似乎仍然有一个矛盾,因为没有必要包括nn_ops.h。
https://stackoverflow.com/questions/54943768
复制相似问题