在TensorFlow repo之外构建Tensorflow C ++项目?

时间:2016-08-15 08:48:20

标签: c++ compilation tensorflow

所以我安装了Tensorflow as described hereOne of the answers提到该项目必须位于克隆的本地TensorFlow仓库中。有没有办法让项目在回购之外?

3 个答案:

答案 0 :(得分:0)

据我所知,没有官方方法可以在TF仓库之外构建代码。但是,您可以使用tensorflow_cc项目,为您构建和安装TF C ++库,并提供方便的CMake目标以及所有必需的标头和链接参数。

答案 1 :(得分:0)

是的,您只需要执行以下操作:

  1. 克隆tensorflow存储库

  2. ./configure到你的链接(启用CUDA等)

  3. 使用bazel build版本//tensorflow:libtensorflow.so//tensorflow:libtensorflow_cc.so

  4. 创建一个您自己的项目,之外的存储库并链接到您刚编译的.so:s,您需要在编译/链接时使用以下选项:

    -I/path/to/repo/tensorflow
    -L/path/to/repo/tensorflow/bazel-bin/tensorflow
    -ltensorflow_framework -ltensorflow_cc
    
  5. 您的.hpp.cpp文件现在可以使用tensorflow::Session和其他类,包括相应的标头文件:

    #include "tensorflow/core/public/session.h"
    #include "tensorflow/cc/ops/standard_ops.h"
    
  6. 您可能还需要(对于protobuf编译器生成的标头protoc):

    -I/path/to/repo/tensorflow/bazel-genfiles/
    

    以及依赖的图书馆(例如它抱怨nsync):

    -I/path/to/repo/tensorflow/bazel-tensorflow/external/nsync/public
    

    希望这有用。

答案 2 :(得分:0)

我已经使用Cmake和Visual Studio 2015成功构建了tensorflow-gpu dyanmic库,现在我可以将项目放在TF仓库之外了。

1.git clone -b r1.7 --single-branch https://github.com/tensorflow/tensorflow.git

2.使用共享库和enable-gpu

选择并选择选项

3.build tensorflow.dll和tensorflow.lib与visual studio 2015

构建过程中会出现一些错误,但很容易修复。 如果您希望了解详细信息,请发表评论。