speech_recognition icon indicating copy to clipboard operation
speech_recognition copied to clipboard

测试过程异常

Open provenpeng opened this issue 7 years ago • 24 comments

大佬,我测试用的thchs30中的test,但是运行时并没有遍历一遍test中的语音 测试的整个过程如下

C:\Users\zxchong\Desktop\speech_recognition-master> python test.py C:\Users\zxchong\AppData\Local\Programs\Python\Python36\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type. from ._conv import register_converters as _register_converters F:\xunlei\data\data_thchs30\test\D11_750.wav 东北军 的 一些 爱国 将士 马 占 山 李杜 唐 聚 伍 苏 炳 艾 邓 铁梅 等 也 奋起 抗战 wav: 2132 label 2132 字表大小: 1787 ckpt: C:\Users\zxchong\Desktop\speech_recognition-master\voice\model\speech.cpkt-101 101

读入语音文件: F:\xunlei\data\data_thchs30\test\D11_773.wav 开始识别语音数据...... 语音原始文本: 台湾 婴幼儿 营养 专家 还 与 厦门市 同行 就 婴幼儿 的 生长 发育 进行 专题 探讨 识别出来的文本: 台湾 婴幼儿 营养 专家 还 厦门市 同行 就 婴幼儿 的 生长 发育 进行 专题 探讨 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_774.wav 开始识别语音数据...... 语音原始文本: 像 张 王村 八十年代 四百 户 拥有 耕牛 七百 多头 而今 五百 五十多 农户 仅 拥有 耕牛 十 一头 识别出来的文本: 像 张 王村 八十年代 四百 户 拥有 耕牛 七百 多头 今 五百 五十多 农户 仅 拥有 耕牛 十 一头 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_775.wav 开始识别语音数据...... 语音原始文本: 看 羊 狗 跑前跑后 一只 惊 飞 的 山雀 惹得 它 汪汪汪 咬 几 声 嗡 嗡嗡 的 在 山间 回荡 识别出来的文本: 看 羊 狗 跑前跑后 一只 惊 飞 的 山雀 惹得 汪汪汪 咬 几 声 省 嗡 嗡嗡 的 在 山间 回荡 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_776.wav 开始识别语音数据...... 语音原始文本: 承运人 有权 要求 托运 人 填写 航空 货运单 托运 人 有权 要求 承运人 接受 该 航空 货运单 识别出来的文本: 承运人 有权 要求 托运 人 填写 航空 货运单 托运 人 有权 要求 承运人 接受 该 航空 货运单 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_779.wav 开始识别语音数据...... 语音原始文本: 当然 他们 不 像 鳄鱼 那样 吞下 石块 当做 压 舱 石 而是 磨成 粉 以后 才 服用 识别出来的文本: 当 他 不 鳄鱼 鳄样 那 吞下 石块 做 压 石 到 多声 草 用 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_780.wav 开始识别语音数据...... 语音原始文本: 刀 光 枪 影 白骨 如 麻 我 仿佛 听到 五 十年前 三十万 冤魂 的 呐喊 痛 贯 心肝 识别出来的文本: 刀 光 枪 影 白骨 如 麻 我 仿佛 听到 五 十年前 三如万 冤魂 呐喊 痛 贯 心肝 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_781.wav 开始识别语音数据...... 语音原始文本: 不仅 要 宣传 少生 还要 宣传 晚婚晚育 优生优育 宣传 生 男生 女 都一样 识别出来的文本: 不仅 要 宣传 少生 还要 宣传 晚婚晚育 优生优育 宣传 生 男生 女 都一样 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_782.wav 开始识别语音数据...... 语音原始文本: 七 我国 培育 出 首 株 抗病毒 转基因 小麦 为 小麦 抗病 育种 奠定 了 坚实 基础 识别出来的文本: 七 我国 培育 出 首 株 抗病毒 转基因 小麦 为 为 小麦 抗病 育种 奠定 了 坚实 基础 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_783.wav 开始识别语音数据...... 语音原始文本: 天空 一些 云 忙 走 月亮 陷进 云 围 时 云和 烟 样 和 煤 山 样 快要 燃烧 似地 识别出来的文本: 天空 一些 云 忙 走 月亮 陷进 云 围 时 云和 烟 样 和 煤 山 样 快要 燃烧 似地 读入语音文件: F:\xunlei\data\data_thchs30\test\D11_785.wav 开始识别语音数据...... 语音原始文本: 北京 丰台区 农民 自己 花钱 筹办 万 佛 延寿 寺 迎春 庙会 吸引 了 区内 六十 支 秧歌队 参赛 识别出来的文本: 北京 丰台区 农民 自己 花钱 筹办 万 佛 延寿 寺 迎春 庙会 吸引 了 区内 六十 支 秧歌队 参赛 PS C:\Users\zxchong\Desktop\speech_recognition-master>

大佬知道这是什么问题吗? 请大佬帮忙看一眼,,谢谢了

provenpeng avatar Jun 06 '18 14:06 provenpeng

大佬能帮小弟看看嘛

provenpeng avatar Jun 07 '18 02:06 provenpeng

你是要把所有的test语音都测试一下?

xxbb1234021 avatar Jun 07 '18 05:06 xxbb1234021

你好,我测试运行也是这样的。现在想加入一个新的 wav文件测试,不知道该怎么操作?求教

thesunnyman avatar Jun 07 '18 08:06 thesunnyman

你们运行的test的时候,不会报tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [512,2667] rhs shape= [512,1788] [[Node: save/Assign_41 = Assign[T=DT_FLOAT, _class=["loc:@h6"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](h6/Adam_1, save/RestoreV2:41)]] 这种错误吗?

feifaxiaoming avatar Jun 07 '18 08:06 feifaxiaoming

@feifaxiaoming https://blog.csdn.net/dou3516/article/details/77836459

thesunnyman avatar Jun 07 '18 08:06 thesunnyman

@thesunnyman 我运行训练的时候都没有问题,就是测试的时候出现的问题,报这个错,我用的也是GPU训练的 ,我有GPU的机器

feifaxiaoming avatar Jun 07 '18 08:06 feifaxiaoming

@thesunnyman 我是在运行test.py的时候报错的,就是训练好之后,测试的时候报错

feifaxiaoming avatar Jun 07 '18 08:06 feifaxiaoming

这个不对啊 ,就只能用test的文件测试,换成自己的就不行了,我之前就是一直用的自己的就不行,如果换成测试的那个就可以了,也就是说用哪个训练就得用哪个测试 ,这样意义不是很大啊 。

feifaxiaoming avatar Jun 07 '18 09:06 feifaxiaoming

这只是一个代码例子,展示一个语音识别的流程,你可以根据你的需求修改,或者换成你们自己的数据测试。如果有改进,希望也能共享出来一起学习

xxbb1234021 avatar Jun 07 '18 09:06 xxbb1234021

@xxbb1234021 不是,我的意思是说测试的时候调用这个: wav_files = ['D:\音频相似度文档\声音相关的模型\Chinese-speech-to-text-master\A11_1.wav','D:\音频相似度文档\声音相关的模型\Chinese-speech-to-text-master\A11_2.wav'] txt_labels = ['北京 丰台区 农民 自己 花钱 筹办 万 佛 延寿 寺 迎春 庙会 吸引 了 区内 六十 支 秧歌队 参赛','那劲 一个 任命'] words_size, words, word_num_map = utils.create_dict(txt_labels) print(words_size, words, word_num_map) bi_rnn = BiRNN(wav_files, txt_labels, words_size, words, word_num_map) bi_rnn.build_target_wav_file_test(wav_files, txt_labels)

就是你test.py下面注释掉的那段代码,就不行了,就会出问题了,用测试文件群测试是没有问题的,我想问的是测试单个文件的怎么弄呢?

feifaxiaoming avatar Jun 07 '18 09:06 feifaxiaoming

我知道这段代码,但是这段代码跑起来就报错了

feifaxiaoming avatar Jun 07 '18 10:06 feifaxiaoming

@feifaxiaoming debug跟踪下代码,是哪行出的问题

xxbb1234021 avatar Jun 07 '18 10:06 xxbb1234021

    with tf.name_scope('layer6'):
        # 全连接层用于softmax分类
        b6 = self.variable_on_device('b6', n_character, tf.random_normal_initializer(stddev=b_stddev))
        h6 = self.variable_on_device('h6', [n_hidden_5, n_character], tf.random_normal_initializer(stddev=h_stddev))
        layer_6 = tf.add(tf.matmul(layer_5, h6), b6)

这一行,n_character是根据字数的多少来确定的,训练的时候用test的训练集,给出的是1700多个字,然后这块就记录进模型的张量中了,然后在测试的时候,换成自己单独的音频文件,这块字数匹配不上,就报错了,报在: if ckpt != None: self.saver.restore(self.sess, ckpt) ind = ckpt.rfind("-") self.startepo = int(ckpt[ind + 1:]) print(self.startepo) self.saver.restore(self.sess, ckpt)这句话调用的张量跟上面的生成的不符合,所以就过不去了。

feifaxiaoming avatar Jun 12 '18 02:06 feifaxiaoming

你跑代码的时候大概跑到多少epoch,结果会接近准确?我我跑的速度很慢,而且gpu跑2天输出的字还是奇奇怪怪的 @xxbb1234021 @provenpeng

crazygirl1992 avatar Jun 14 '18 08:06 crazygirl1992

100步左右就可以了,主要跑完了,不能单独输入图片去测试

feifaxiaoming avatar Jun 14 '18 08:06 feifaxiaoming

哦哦

crazygirl1992 avatar Jun 14 '18 11:06 crazygirl1992

@feifaxiaoming 我也遇到了同样的问题,请问解决了吗?只能跑默认的test,自定义路径或文件都会报错

ZeR0ll avatar Jun 20 '18 02:06 ZeR0ll

我也遇到了这种问题,请问您找到解决方法了吗 @feifaxiaoming @ZeR0ll

sunshinepython avatar Jun 21 '18 02:06 sunshinepython

这个更像是一个demo,作者似乎也不打算更新,我尝试了一下发现作者的测试集是在训练集上做的,对自定义的语音识别效果很差。所以这个拿来学习一下就好了。

ZeR0ll avatar Jun 29 '18 15:06 ZeR0ll

我也遇到了同样的问题,测试单个文件会报错,请问这个怎么解决?@feifaxiaoming @xxbb1234021

JingangLang avatar Nov 02 '18 06:11 JingangLang

@feifaxiaoming 你的cpu成功了 ?

sunjunlishi avatar Jan 30 '19 07:01 sunjunlishi

100步左右就可以了,主要跑完了,不能单独输入图片去测试

感觉60多次后就收敛的比较好了.

livyer avatar Apr 29 '19 08:04 livyer

你们运行的test的时候,不会报tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [512,2667] rhs shape= [512,1788] [[Node: save/Assign_41 = Assign[T=DT_FLOAT, _class=["loc:@H6"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](h6/Adam_1, save/RestoreV2:41)]] 这种错误吗?

就是报这个错. 还没找到办法解决, 

livyer avatar Apr 29 '19 08:04 livyer

运行环境:cpu 、采用训练好的模型 测试单个文件:

#coding=utf-8

import os

import utils from config import Config from model import BiRNN

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

conf = Config()

wav_files, text_labels = utils.get_wavs_lables()

words_size, words, word_num_map = utils.create_dict(text_labels)

#bi_rnn = BiRNN(wav_files, text_labels, words_size, words, word_num_map) #bi_rnn.build_test()

wav_files = ['F:/Python_code/语音识别/speech_recognition-中文/data/test/D4_750.wav'] txt_labels = ['东北军 的 一些 爱国 将士 马占山 李杜 唐聚 伍炳艾 邓铁梅 等 也 奋起 抗战'] bi_rnn = BiRNN(wav_files, text_labels, words_size, words, word_num_map) bi_rnn.build_target_wav_file_test(wav_files, txt_labels)

结果: F:\programme\Anaconda3.5\python.exe F:/Python_code/语音识别/speech_recognition-中文/test.py F:\programme\Anaconda3.5\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type. from ._conv import register_converters as _register_converters ./data/test/\D11_750.wav 东北军 的 一些 爱国 将士 马 占 山 李杜 唐 聚 伍 苏 炳 艾 邓 铁梅 等 也 奋起 抗战 wav: 2132 label 2132 字表大小: 1787 WARNING:tensorflow:From F:\Python_code\语音识别\speech_recognition-中文\model.py:101: BasicLSTMCell.init (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version. Instructions for updating: This class is deprecated, please use tf.nn.rnn_cell.LSTMCell, which supports all the feature this cell currently has. Please replace the existing code with tf.nn.rnn_cell.LSTMCell(name='basic_lstm_cell'). ckpt: F:/Python_code/语音识别/speech_recognition-中文/data/save_speech/speech.cpkt-101 101

读入语音文件: F:/Python_code/语音识别/speech_recognition-中文/data/test/D4_750.wav 开始识别语音数据...... 语音原始文本: 东北军 的 一些 爱国 将士 马占山 李杜 唐聚 伍炳艾 邓铁梅 等 也 奋起 抗战 识别出来的文本: 东北军 的 一些 爱国 将士 马 占 山 李杜 唐 聚 伍 炳 艾 邓 铁梅 等 也 奋起 抗战

进程已结束,退出代码0

tiankong-hut avatar May 18 '19 13:05 tiankong-hut