Tensorflow Op:如何包含 libtensorflow_framework.so?

j35*_*t3r 5 c++ ubuntu c++11 tensorflow

我按照本教程的说明进行操作:https : //www.tensorflow.org/extend/adding_an_op#implement_the_gradient_in_python。有这样的评论提供:g++ -std=c++11 -shared zero_out.cc -o zero_out.so -fPIC -I$TF_INC -I$TF_INC/external/nsync/public -L$TF_LIB -ltensorflow_framework -O2

但是链接器找不到-ltensorflow_framework(应该是tensorflow_frameowork.so文件!?)

经过一番研究,我找到了以下链接:

我试图sudo find /usr/. -name "tensorflow_framework.so"递归搜索,但找不到任何东西。Tensorflow 是通过 anaconda 安装的,我还从源代码克隆和编译了存储库。

如何找到一种方法来包含-ltensorflow_framework

j35*_*t3r 3

我发现了一个答案:

我已经通过 anaconda2 安装了我的 python,当我激活我的存储库时,我总是试图找出 TF_INC 和 TF_LIB source activate <env>。并且找不到任何~/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow *.so 文件

这次我使用 shell 命令退出了每个 python 环境source deactivate,并输入了以下命令 python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())'

现在,我得到了一个不同的路径:~/anaconda2/lib/python2.7/site-packages/tensorflow,库libtensorflow_framework.so所在的位置。