-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
issues
-
模型编译成功,但是一训练就报错,提示InvalidArgumentError
首先请检查数据的输入格式,尤其是使用有自己生成的数据文件时,一切格式以仓库中
datalist/
目录下的文件格式和根目录下的dict.txt
文件的格式为准。其次,请确认安装的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系统下,这两个却是指向一样的文件,所以,应该避免同一个字母不同大小写的文件名。 -
一运行就提示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文件名和存储路径相对应,如果用到了自己生成的文件,请务必保证这一点。
-
训练刚开始或者一批次刚结束时突然出错,提示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后端,程序即可正常运行。
-
语音模型直接识别出来的是汉语拼音,能不能转为汉字
语音模型是使用汉语拼音作为模型的输出的,如果需要转为汉字,还需要语言模型,仓库中的
LanguageModel.py
就是用来做这件事的,可以实现从拼音转为汉字。test.py
文件包含了这整个一套的过程,可以实现从wav声音文件或序列,到最终的汉字。 -
自己电脑比较渣,在哪里可以下载作者已经训练好的模型
本项目已经预发布了若干个版本的完整软件,可以在Github本仓库下release里面的发布的软件的压缩包
ASRT_vxx.xx.zip
里获得完整源程序,包含有已经训练好的模型,每个版本具体使用到的模型都有说明,发布的版本基本上有着不错的语音识别字准确率。