python - Tensorflow NotFoundError:libtensorflow_framework.so:无法打开共享文件或目录
问题描述
我在适用于 Linux 的 Ubuntu 16.04 版本的 Windows 子系统中使用带有 Python 2.7 的 Tensorflow 1.14.0(安装了 pip)。我正在运行另一个人编写的脚本,它给了我以下错误:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/load_library.py", line 61, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: libtensorflow_framework.so: cannot open shared object file: No such file or directory
我发现了这篇文章,其中用户自己找到了丢失的 libtensorflow_framework.so 文件,然后我导航到/usr/local/lib/python2.7/dist-packages/tensorflow
找到 lib_tensorflow_framework.so.1 文件的位置。我尝试重命名文件以删除最后的 .1 并尝试重新运行脚本,但随后出现错误,提示找不到 .so.1 文件!如果我运行find . -name libtensorflow_framework.so
没有结果。我在哪里可以找到这个文件?
解决方案
不要重命名文件,将 libtensorflow_framework.so 中的符号链接添加到 libtensorflow_framework.so.1
cd /usr/local/lib/python2.7/dist-packages/tensorflow/
# If you renamed the file, rename it back
mv libtensorflow_framework.so libtensorflow_framework.so.1
# Create a symlink so both .so and .so.1 point to the same file
ln -s libtensorflow_framework.so.1 libtensorflow_framework.so
推荐阅读
- javascript - VueJS - 将数据从父组件传递到子组件
- matlab - Matlab parfor 未分类变量
- python - 如何将一个对象批量关联到具有 ManyToManyField 的多个对象?
- php - 如何实际使用 PHP Transliterator (Romanization) 将波斯语转换为英式英语
- ios - 如何让 LazyVGrid 不偷懒?
- javascript - 如何在网页中插入三角形状?
- mysql - MYSQL 平均最大值
- javascript - 使用 settimeout 单次尝试按钮单击在移动设备中不起作用
- redis - Redis ERR 未知命令 'BZPOPMIN'
- javascript - 更新值后返回子组件