【问题标题】:Tensorflow Op: how to include libtensorflow_framework.so?Tensorflow Op:如何包含 libtensorflow_framework.so?
【发布时间】:2017-12-20 12:55:42
【问题描述】:

我按照本教程的说明进行操作: 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 的方法?

【问题讨论】:

    标签: c++ c++11 ubuntu tensorflow


    【解决方案1】:

    一个答案,我找到了:

    我已经通过 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 所在的位置。

    【讨论】:

      【解决方案2】:

      就我而言,文件libtensorflow_framework.so.1 存在于我的TF_LIB 目录中,而不是libtensorflow_framework.so。为了解决这个问题,我不得不创建一个符号链接如下:

      ln -s libtensorflow_framework.so.1 libtensorflow_framework.so
      

      来源:Tensorflow NotFoundError: libtensorflow_framework.so: cannot open shared file or directory

      【讨论】:

        【解决方案3】:

        Tensorflow 1.4.1 之前不使用tensorflow_framework

        当你从 shell 调用 python 时,确保你调用的是正确的:

        TF_LIB = $(shell python -c 'import tensorflow; print(tensorflow.sysconfig.get_lib())')

        TF_LIB = $(shell python3 -c 'import tensorflow; print(tensorflow.sysconfig.get_lib())')

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-12-17
          • 2021-04-12
          • 1970-01-01
          • 2016-12-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多