gpt4 book ai didi

c++ - Tensorflow C++ r1.13 构建错误 : 'TopK' is not a member of 'tensorflow::ops'

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:39:20 25 4
gpt4 key购买 nike

这是我第一次尝试构建 C++ Tensorflow 项目,弄清楚如何构建 TF 库已经是太多工作了,所以我使用了 github tensorflow_cc项目,它提供了一个带有已经为 Ubuntu 18.04 构建的 TF C++ api 的 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 仓库中! (根据 github 搜索和克隆中的“find .-name nn_ops.h”。)确实存在的是“tensorflow/core/ops/nn_ops.cc”。

我知道这是一个入门问题,一定有一些简单的事情我遗漏了,但是很难理解 API 文档和 repo 之间的这种冲突。我尝试构建的示例代码之前已经构建并运行过,但我无法获得任何支持。有人最近用 TopK 构建了 TF C++ 项目吗?对开始执行 TF C++ 的最佳方式有何建议?

最佳答案

tensorflow_cc项目提供静态绑定(bind)构建环境和共享库或动态绑定(bind)环境(静态或共享使用内置的 Tensorflow 库)。我试图用静态版本的 floopcz/tensorflow_cc:ubuntu-static docker 镜像构建项目。使用共享库镜像 floopcz/tensorflow_cc:ubuntu-shared 构建没有问题。

@jdehesa 我相信所需的 header 是按照您的建议生成的。见说明 here .然而 Tensorflow API doc似乎仍然存在矛盾,因为不需要包含 nn_ops.h。

关于c++ - Tensorflow C++ r1.13 构建错误 : 'TopK' is not a member of 'tensorflow::ops' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54943768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com