Skip to content
nl8590687 edited this page Jun 28, 2018 · 31 revisions

常见问题

运行报错(包括训练和测试时)

  • 模型编译成功,但是一训练就报错,提示InvalidArgumentError

    首先请检查数据的输入格式,尤其是使用有自己生成的数据文件时,一切格式以仓库中 datalist/ 目录下的文件格式和根目录下的 dict.txt 文件的格式为准。

    参考issue

    其次,请确认安装的TensorFlow和Keras的版本是否对应,如果不清楚,硬件条件如果支持(比如CUDA9.0)的话,请直接全部安装最新版本。

  • 模型编译成功,但是一训练就报错,提示OSError: Unable to open file,No such file or directory

    请检查是不是 ms.LoadModel() 中指定的加载保存好的模型文件名路径不存在,当这个文件不存在时会触发错误。还需要注意一下python在windows系统和linux系统上文件路径字符串在表示上的区别,是用'/'还是'\\'等,以及,linux系统对文件路径区分大小写,也就是说A11_183.WAV和A11_183.wav是不一样的,但是在Windows系统下,这两个却是指向一样的文件,所以,应该避免同一个字母不同大小写的文件名。

    参考issue 参考issue

  • 一运行就提示cannot import module xxx / ModuleNotFoundError: No module named xxx

    请检查python依赖库是否全部安装成功,如果存在没有安装成功的库,请手动安装。

.

  • 训练一个批次之后出现报错

    请检查保存模型的路径是否存在,是否有model_speech这个目录,或者,如果代码中保存模型的路径还包含了“m22”“m24”“m25”等文本,请检查这个目录下是否有对应文本的目录路径名称,比如,是否有model_speech/m22这个路径。

.

  • 训练过程中突然出错,找不到某wav文件,提示FileNotFoundError: [Errno 2] No such file or directory

    请确保文件列表和数据标签与数据集中的wav文件名和存储路径相对应,如果用到了自己生成的文件,请务必保证这一点。

    参考issue

  • 训练刚开始或者一批次刚结束时突然出错,提示UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3: ordinal not in range(128)

    一般来说是这类代码引起的:

    print('[*\u63d0\u793a] \u521b\u5efa\u6a21\u578b\u6210\u529f\uff0c\u6a21\u578b\u7f16\u8bd1\u6210\u529f')

    我们可以看到程序出现了乱码,这是因为机器默认不支持UTF-8编码的字符集而是使用了ascii之类其他编码导致的,实际代码应该类似于这样:

    print('[*提示] 创建模型成功,模型编译成功')

    解决方案:将中文换成英文,或者让系统支持UTF-8编码的字符集。

  • 程序一运行就提示“xxx程序已停止工作”或者“非法指令(核心已转储)”

    这应该是tensorflow和CPU的锅,tf默认编译的是通用指令集,在大部分计算机上都可以正常运行,但是唯独当前的CPU连这种通用指令集都不支持,所以解决办法就是自己手动编译一个tensorflow吧。或者也可以直接使用GPU版的tensorflow试试,前提是要有Nvidia的GPU。

  • 程序运行时报错,提示有“theano.xxx.xxx”

    这应该是您的Keras后端使用的是Theano的原因,请使用TensorFlow作为Keras的后端来运行。本项目需要使用TensorFlow作为Keras的后端backend,而不是Theano,请安装TensorFlow并将Keras切换到TF后端,程序即可正常运行。

    参考issue

其他

  • 语音模型直接识别出来的是汉语拼音,能不能转为汉字

    语音模型是使用汉语拼音作为模型的输出的,如果需要转为汉字,还需要语言模型,仓库中的 LanguageModel.py 就是用来做这件事的,可以实现从拼音转为汉字。test.py文件包含了这整个一套的过程,可以实现从wav声音文件或序列,到最终的汉字。

  • 自己电脑比较渣,在哪里可以下载作者已经训练好的模型

    本项目已经预发布了若干个版本的完整软件,可以在Github本仓库下release里面的发布的软件的压缩包ASRT_vxx.xx.zip里获得完整源程序,包含有已经训练好的模型,每个版本具体使用到的模型都有说明,发布的版本基本上有着不错的语音识别字准确率。