问题标签 [tensorflow-c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
87 浏览

tensorflow - tensorflow 消耗的 GPU 内存是否完全等于所需的

我使用 tensorflow c++ 版本进行 CNN 推理。我已经set_allow_growth(true),但它仍然消耗比实际需要更多的 GPU 内存。

set_per_process_gpu_memory_fraction只能设置GPU显存的上限,但不同的CNN模型有不同的上限。有没有解决问题的好方法

0 投票
1 回答
45 浏览

tensorflow - Tensorflow c++ windows bazel build在读取扩展文件时出错

嘿伙计们,我试图在 Windows 10 上安装 tensorflow c++,但是当我尝试执行 bazel 命令时遇到了这个问题

在此处输入图像描述

0 投票
1 回答
328 浏览

tensorflow - C++中的Tensorflow:成功读取LSTM编码器解码器模型的协议缓冲区

我已经调试这个问题一段时间了。我开发了一个 LSTM 编码器解码器模型,我计划在 C++ 中部署它。

以.pb文件格式保存模型后,我可以导入模型和数据并将其部署在 python 中。但是,当我尝试使用 C++ API 导入图形时,该函数TF_GraphImportGraphDef()返回错误代码TF_NOT_FOUND。我怀疑,这是因为我使用的是光束搜索方法,并且 op 的符号GatherTree不包含在tensorflow.dll/lib我在 windows 上使用 Bazel 生成的符号中。

我想知道是否有人以前遇到过此问题或对此问题有任何解决方案。

链接到_beam_search_ops.dll是一个可能的解决方案吗?我也尝试过TF_LoadLibrary()使用c_api.h. 但是,我无法加载库。

任何输入将不胜感激。另外,我正在使用 tensorflow 1.14 版。

0 投票
1 回答
765 浏览

c++ - TF_NewTensor 分段错误:可能的错误?

我正在使用 Tensorflow 2.1 git master 分支(提交 id:db8a74a737cc735bb2a4800731d21f2de6d04961)并在本地编译它。使用 C API 进行调用TF_LoadSessionFromSavedModel,但似乎出现分段错误。我已经设法深入了解下面示例代码中的错误。

TF_NewTensor调用崩溃并导致分段错误。

但是,当我TF_Tensor** InputValues = (TF_Tensor**)malloc(sizeof(TF_Tensor*)*1);在通话后移动时TF_NewTensor,它不会崩溃。如下所示:

这是一个可能的错误还是我用错了?我不明白mallocq 自变量如何导致分段错误。

任何人都可以复制吗?

我正在使用 gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008 进行编译。

更新:

可以进一步简化错误如下。这甚至没有InputValues被分配。

编译

gcc -I<tensorflow_path>/include/ -L<tensorflow_path>/lib test.c -ltensorflow -o test2.out

解决方案

正如 Raz 指出的那样,传递空deallocater而不是 NULL,并且ndata应该是字节大小。

在这里查看我的 Github 上运行/编译 TensorFlow 的 C API 的完整代码

0 投票
2 回答
1490 浏览

c++ - TensorFlow C API 选择 GPU

我正在使用 Tensorflow C API 运行在 python 中保存/冻结的模型。我们曾经在 CPU 上运行这些模型,但最近切换到 GPU 以提高性能。为了与 C API 交互,我们使用了一个名为 CPPFlow ( https://github.com/serizba/cppflow ) 的包装库。我最近更新了这个库,以便我们可以传入 GPU 配置选项,以便我们可以控制 GPU 内存分配。但是,我们现在也有具有多个 GPU 的系统,这会导致一些问题。似乎我无法让 Tensorflow 使用与我们的软件相同的 GPU。

我使用与我们的软件具有相同 GPU ID 的 visible_device_list 参数。如果我将我们的软件设置为在设备 1 上运行,并将 Tensorflow 设置为在设备 1 上运行,Tensorflow 将选择设备 2。如果我将我们的软件设置为使用设备 1,而 Tensorflow 使用设备 2,则这两个软件都使用相同的 GPU。

Tensorflow 如何订购 GPU 设备,我是否需要使用其他方法手动选择设备?我看到的每个地方都表明可以使用 GPU Config 选项来完成。

0 投票
2 回答
339 浏览

c++ - 如何在单核、单线程 CPP 上运行 Tensorflow?

我正在尝试限制 TensorFlow 生成的线程数。在 python 中,我知道我们需要使用此处指出的以下步骤。我试图在 CPP 中做同样的事情,但看起来并不那么简单。问题:

  1. 如何正确修改intra_op_parallelism_threads和inter_op_parallelism_threads?
  2. 如何修改 device_count 来控制核心?
0 投票
1 回答
382 浏览

c - TensorFlow C API 日志记录设置

我试图在加载保存的模型时抑制 C-API 中张量流的日志记录。日志看起来像这样

下面是我加载保存模型的代码部分

由于关于 TF C-API 的文档很少,我现在陷入了这个问题。有人知道怎么做吗?

0 投票
1 回答
38 浏览

c++ - 使用 C Api version2.3 加载 Tensorflow 保存的模型

我有一个由 py​​thon TF V2.3 生成的 .pb 模型文件。当我尝试使用 C api 加载它时,它会抛出错误 what(): Invalid GraphDef。目前的 C/Cpp api 是否支持加载 V2.3 生成的模型? 在此处输入图像描述

0 投票
1 回答
166 浏览

c++ - 如何从源代码构建单线程 TensorFlow 2.x

从源代码构建 TensorFlow 2.x(用于 CPU)时,我应该进行哪些更改以强制 TensorFlow不使用超过 1 个线程?如果这是不可能的,我应该更改哪些特定的 c++ 语句(以及在哪些 cpp 文件中)以抑制多线程的生成?

无论 CPU/内核的数量是多少,我总共需要 1 个来自 TensorFlow 2.x 的线程。

用于top -H -b -n1 | grep program_name | wc -l计算线程总数。

0 投票
2 回答
242 浏览

c++ - 如何编写 CMakeList.txt 文件以包含 tensorflow 库?(c++ 构建)

我已经用 bazel 成功构建了 tensorflow(v1.14.0) c++。我可以用 g++ 构建 tensorflow 库。

我想在此代码中包含其他库(例如 json)。所以我想知道如何用cmake构建下面的代码。

如何编写 CMakeLists.txt?

我的目录如下。

在此处输入图像描述

<test.cpp代码>

<g++ 命令>