Rom*_*ood 2 c++ xcode tensorflow
我正在尝试在 Xcode 的 C++ 项目中使用tensorflow。我遵循了他们网页上的“Install TensorFlow for C”教程(https://www.tensorflow.org/install/lang_c)。
我必须更改 Xcode 项目的构建设置部分中的几个字段才能使其正常工作。
完成此操作后,程序正确编译并打印:“Hello from TensorFlow C library version 2.4.0”。那么按照教程,安装成功了,应该可以使用C API了。
我不明白的是我如何访问 API 本身。例如,如何声明tensorflow::Scope类型的变量?
根据我在网上找到的其他教程(例如:https: //itnext.io/creating-a-tensorflow-dnn-in-c-part-1-54ce69bbd586),我应该包含一个位于tensorflow/core/framework/...但我没有这样的文件我的电脑上的文件。
Tensorflow 表示可以通过单个文件访问整个 API tensorflow/c/c_api.h。但是我怎样才能做一些像using namespace tensorflow;工作这样的事情呢?
我已经在这个问题上苦苦挣扎了好几天,我真的希望有人能够帮助我。
您提供的示例(tensorflow::Scope)可以与 C++ 一起使用,但不能与 tensorflow C API 一起使用。对于此类指令,您需要从源代码构建张量流(我发现此存储库非常有用https://github.com/FloopCZ/tensorflow_cc)。
如果您想使用 C API,那么您可以调用 c_api.h 中找到的所有函数。例如,以下是我的 C++ 文件 (hello_tf_cpp.cpp):
#include <iostream>
#include <tensorflow/c/c_api.h>
int main() {
std::cout << "Hello from Tensorflow C++ library version " << TF_Version() << std::endl;
//printf("Hello from TensorFlow C library version %s\n", TF_Version());
TF_Graph* Graph = TF_NewGraph();
TF_Status* Status = TF_NewStatus();
TF_SessionOptions* SessionOpts = TF_NewSessionOptions();
TF_Buffer* RunOpts = NULL;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这就是我编译和运行它的方式:
$ g++ -I/usr/local/include -L /usr/local/lib hello_tf_cpp.cpp -l tensorflow -o hello_tf_cpp
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$./hello_tf_cpp
$ unset LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:Hello from Tensorflow C++ library version 1.15.0
| 归档时间: |
|
| 查看次数: |
5658 次 |
| 最近记录: |