关于colab中libtensorflow_框架的一个问题

2024-04-25 21:14:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我在colab单元格中运行了以下注释,以将libtensorflow_framework.so添加到gcc的搜索例程中:

! echo '/usr/local/lib/python3.6/dist-packages/tensorflow/' >> /etc/ld.so.conf
! sudo ldconfig
! export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/python3.6/dist-packages/tensorflow/
! echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/python3.6/dist-packages/tensorflow/' >> ~/.bashrc
! source ~/.bashrc

并且得到了(我不知道这是否是这个问题的关键点)

/sbin/ldconfig.real: /usr/local/lib/python3.6/dist-packages/ideep4py/lib/libmkldnn.so.0 is not a symbolic link

由于在tensorflow 2.2.0-rc3中,“libtensorflow_framework.so”被修改为“libtensorflow_framework.so.2”,因此我在它们之间创建了一个软连接:

!sudo ln -s libtensorflow_framework.so.2 libtensorflow_framework.so

但当我最后运行评论时:

TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())')
TF_LIB=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')
# TF1.4
g++ -std=c++11 tf_grouping.cpp tf_grouping_g.cu.o -o tf_grouping_so.so -shared -fPIC -I 
/usr/local/lib/python3.6/dist-packages/tensorflow/include -I /usr/local/cuda/include -I 
/usr/local/lib/python3.6/dist-packages/tensorflow/include/external/nsync/public -lcudart -L 
/usr/local/cuda/lib64/ -L/usr/local/lib/python3.6/dist-packages/tensorflow -llibtensorflow_framework -O2 -D_GLIBCXX_USE_CXX11_ABI=0 -I$TF_INC/external/nsync/public -L$TF_LIB -llibtensorflow_framework

我仍然得到反馈:

/usr/bin/ld: cannot find -llibtensorflow_framework
/usr/bin/ld: cannot find -llibtensorflow_framework
collect2: error: ld returned 1 exit status

Tags: pathsolibpackagesusrlocaldisttf