PocketSphinx语音识别

iOS-PocketSphinx——安装tensorflow的坎

2021-03-09  本文已影响0人  Aaron升

传送门

iOS-PocketSphinx——安装PocketSphinx

iOS-PocketSphinx——构建iOS使用的SDK

iOS-PocketSphinx——建立语音词典

iOS-PocketSphinx——建立语言模型

iOS-PocketSphinx——调整默认声学模型

当前文章:iOS-PocketSphinx——安装tensorflow的坎坷过程

系统环境

Mac OS 10.15.7

安装原因

在使用PocketSphinx 语音识别学习过程中,需安装g2p-seq2seq,提示得安装tensorflow

开始安装

用以下命令安装tensorflow:

$ pip install tensorflow

报如下错误:

$ pip install tensorflow
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 11, in <module>
    load_entry_point('pip==21.0.1', 'console_scripts', 'pip')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2843, in load_entry_point
    return ep.load()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2434, in load
    return self.resolve()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2440, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/Library/Python/2.7/site-packages/pip-21.0.1-py2.7.egg/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

或报如下错误(python版本过高导致TensorFlow不能正确安装):

$ pip install tensorflow
ERROR: Could not find a version that satisfies the requirement tensorflow
ERROR: No matching distribution found for tensorflow
  1. 又因

-bash: pip: command not found

安装pip

$ wget https://bootstrap.pypa.io/get-pip.py
  1. 又因

-bash: wget: command not found

安装wget

$ brew install wget

安装python3.6版本

tensorflow还是安装失败,网上是这么说的:

如出现python3.7.0(3.5以上版本均有可能出现这个问题),python版本过高导致TensorFlow不能正确安装。此时需要安装低版本的python,如python3.5

由于Mac自带python2.7版本已启用,导致无法安装g2p-seq2seq的问题,之前已安装了最新python3.9.2,现在又因为python版本太高无法安装TensorFlow(MMP~)

Python官网下载python3.6版本的kpg(千万别下3.5的,我采坑先用了3.5的还是无法安装tensorflow)

安装完后用以下命令:

$ pip3 install tensorflow

一直安装失败,各种报错:

    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
You are using pip version 9.0.1, however version 21.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

我按提示先跑这个命令:

$ pip3 install --upgrade pip

也是一直报错,可能网络的原因,尝试了好多次,终于成功了

$ pip3 install --upgrade pip
Collecting pip
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 38kB/s 
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
      Successfully uninstalled pip-9.0.1
Successfully installed pip-21.0.1

接着再次安装tensorflow

$ pip3 install tensorflow

也是一直报错

$ pip3 install tensorflow
Collecting tensorflow
  Downloading tensorflow-2.4.1-cp36-cp36m-macosx_10_11_x86_64.whl (173.9 MB)
     |                                | 491 kB 3.5 kB/s eta 13:38:33
···中间省略···
    self.gen.throw(type, value, traceback)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

下载速度太慢了,下载超过时间就会报错,真的心态崩了
解决方案:

  1. 设置控制超时
    pip install --default-timeout=1000 “包的名称”

  2. 更换pip下载源
    由于国内的下载源下载速度十分缓慢,所以可以选择国内的几个比较好的镜像。

pip源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
豆瓣http://pypi.doubanio.com/simple/
清华大学https://pypi.tuna.tsinghua.edu.cn/simple/

临时使用时,在后面加上 -i 参数,指定pip源

$ pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/       # 指定pip源为清华源

用镜像虽然下载速度飙升,但还是很容易超时,于是两个方案结合:

$ pip3 install --default-timeout=1000 tensorflow -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ 

终于成功了

Installing collected packages: urllib3, pyasn1, idna, chardet, certifi, zipp, typing-extensions, six, setuptools, rsa, requests, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, importlib-metadata, google-auth, wheel, werkzeug, tensorboard-plugin-wit, protobuf, numpy, markdown, grpcio, google-auth-oauthlib, absl-py, wrapt, termcolor, tensorflow-estimator, tensorboard, opt-einsum, keras-preprocessing, h5py, google-pasta, gast, flatbuffers, astunparse, tensorflow
  Attempting uninstall: setuptools
    Found existing installation: setuptools 28.8.0
    Uninstalling setuptools-28.8.0:
      Successfully uninstalled setuptools-28.8.0
    Running setup.py install for wrapt ... done
    Running setup.py install for termcolor ... done
Successfully installed absl-py-0.11.0 astunparse-1.6.3 cachetools-4.2.1 certifi-2020.12.5 chardet-4.0.0 flatbuffers-1.12 gast-0.3.3 google-auth-1.27.0 google-auth-oauthlib-0.4.2 google-pasta-0.2.0 grpcio-1.32.0 h5py-2.10.0 idna-2.10 importlib-metadata-3.7.0 keras-preprocessing-1.1.2 markdown-3.3.4 numpy-1.19.5 oauthlib-3.1.0 opt-einsum-3.3.0 protobuf-3.15.3 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.25.1 requests-oauthlib-1.3.0 rsa-4.7.2 setuptools-54.0.0 six-1.15.0 tensorboard-2.4.1 tensorboard-plugin-wit-1.8.0 tensorflow-2.4.1 tensorflow-estimator-2.4.0 termcolor-1.1.0 typing-extensions-3.7.4.3 urllib3-1.26.3 werkzeug-1.0.1 wheel-0.36.2 wrapt-1.12.1 zipp-3.4.0
上一篇下一篇

猜你喜欢

热点阅读