无法加载原生 TensorFlow 运行时。运行 g2p-seq2seq --version 时

Posted

技术标签:

【中文标题】无法加载原生 TensorFlow 运行时。运行 g2p-seq2seq --version 时【英文标题】:Failed to load the native TensorFlow runtime. when running g2p-seq2seq --version 【发布时间】:2019-06-27 04:35:09 【问题描述】:

Mac 操作系统 我正在尝试使用 cmu 字典进行语音识别。 我采取的步骤:

python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl

pip3 show tensorflow

结果:

名称:张量流 版本:1.12.0 总结:TensorFlow 是一个适合所有人的开源机器学习框架。 首页:https://www.tensorflow.org/ 作者:谷歌公司 作者邮箱:opensource@google.com 许可证:Apache 2.0 位置:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages 需要:protobuf、keras-preprocessing、tensorboard、termcolor、numpy、wheel、keras-applications、六、absl-py、grpcio、gast、astor 要求:

然后:

pip install tensor2tensor==1.5.0
export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages:$PYTHONPATH
g2p-seq2seq --version

结果:

Traceback(最近一次调用最后一次): 文件“/usr/local/bin/g2p-seq2seq”,第 11 行,在 load_entry_point('g2p-seq2seq==6.2.2a0', 'console_scripts', 'g2p-seq2seq')() 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/init.py”,第 487 行,在 load_entry_point return get_distribution(dist).load_entry_point(group, name) 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/init.py”,第 2728 行,位于 load_entry_point 返回 ep.load() 加载中的文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/init.py”,第 2346 行 返回 self.resolve() 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/init.py”,第 2352 行,已解决 模块 = import(self.module_name, fromlist=['name'], level=0) 文件“/usr/local/lib/python2.7/site-packages/g2p_seq2seq-6.2.2a0-py2.7.egg/g2p_seq2seq/init.py”,第 24 行,在 从 g2p_seq2seq 导入应用程序 文件“/usr/local/lib/python2.7/site-packages/g2p_seq2seq-6.2.2a0-py2.7.egg/g2p_seq2seq/app.py”,第 29 行,在 将张量流导入为 tf 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/init.py”,第 24 行,在 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/init.py”,第 49 行,在 从 tensorflow.python 导入 pywrap_tensorflow 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py”,第 74 行,在 引发 ImportError(味精) ImportError: Traceback (最近一次调用最后一次): 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so,6):找不到符号:__Py_FalseStruct 引用自:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so 预期在:平面命名空间 在 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so 未能加载原生 TensorFlow 运行时。

在 pycharm IDE 控制台内部,

import tensorflow as tf

给了我这个:

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/_bootstrap.py:219:RuntimeWarning:模块“tensorflow.python.framework.fast_tensor_util”的编译时版本 3.6 与运行时不匹配3.7版 返回 f(*args, **kwds)


更新:

我去这个github site 并下载正确的***(python 3.7 for mac os 10.13)。 并通过

重新安装 tensorflow
pip3 install --ignore-installed --upgrade /Users/cindy/Documents/pythonworkspace/sphinxenv/tensorflow-1.12.0-cp37-cp37m-macosx_10_13_x86_64.whl --user

我创建了一个只有一行的python文件tensorflow_test.py

imoprt tensorflow as tf

如果我执行此文件,控制台不会抛出错误。

然而

 g2p-seq2seq --version

现在告诉我

ImportError: 没有名为 tensorflow 的模块

【问题讨论】:

您希望在另一个 python 安装中安装 g2dp-seq2seq 并在另一个安装中安装张量流。在终端中运行$(pip3 -V) 的输出是什么。尝试将路径设置为在您的PATH 的输出中返回的站点包文件夹的路径,然后重做 g2p-seq2seq 版本命令 谢谢! pip3 -V: pip 19.0.1 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7) 我的 $PATH 是 /Library/Frameworks/Python.framework/ Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public 现在我该怎么办?谢谢。 我如何安装 g2p:$sudo python3 setup.py install 您是否已经尝试使用 pip3 在 [PyPI][pypi.org/project/g2p-seq2seq/] 中安装 g2p-seq2seq 的已发布版本? tensorflow on PyPI 的最新发布版本位于 1.12.0。你可以通过github.com/tensorflow/tensorflow/releases直接安装GitHub的1.13.0 【参考方案1】:

Oluwafemi Sule 在评论中说的是对的。

pip3 -V

给我

来自 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7) 的 pip 19.0.1

同时,

echo $PATH

给我

/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents /公开

正如 Oluwafemi Sule 所建议的, 添加

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages

到 Mac 的 PATH 变量。

再次回显 PATH:

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/ usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public

现在

g2p-seq2seq --version

不再有 ImportError: No module named tensorflow 错误。

(不过我还是要解决tensorflow太老的问题。)

【讨论】:

以上是关于无法加载原生 TensorFlow 运行时。运行 g2p-seq2seq --version 时的主要内容,如果未能解决你的问题,请参考以下文章

无法加载原生 TensorFlow 运行时。运行 g2p-seq2seq --version 时

未能加载原生 TensorFlow 运行时 - DLL 加载失败

Django webapplication 加载原生 TensorFlow 运行时失败。在 Heroku

在 python 3.4 中导入 tensorflow 时出错“无法加载本机 TensorFlow 运行时”

如何修复无法在 Conda 上加载本机 Tensorflow 运行时

在 Ubuntu 20.4 LTS 上使用 GPU (CUDA-11.0) 运行代码时的 TensorFlow 问题