无法加载原生 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)。 并通过
重新安装 tensorflowpip3 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 运行时”