我按照本教程的说明操作: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文件!?)
经过一些研究,我发现以下链接:
-l/pathto/tensorflow_framework.so
链接它,仍然找不到fatal error: tensorflow/core/framework/op_kernel.h: No such file or directory
。我试图递归搜索sudo find /usr/. -name "tensorflow_framework.so"
但我找不到任何东西。 Tensorflow肯定是通过anaconda安装的,我还从源代码克隆并编译了存储库。
如何找到包含-ltensorflow_framework
的方法?
一个答案,我发现:
我已经通过anaconda2安装了我的python,当我激活我的存储库source activate <env>
时,我总是试图找出TF_INC和TF_LIB。并且找不到任何~/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow
* .so文件
这次我用shell命令source deactivate
出去了每个python环境,我输入以下命令python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())'
现在,我得到了一条不同的路径:~/anaconda2/lib/python2.7/site-packages/tensorflow
,lib libtensorflow_framework.so
所在的位置。