speech_recognition
                                
                                
                                
                                    speech_recognition copied to clipboard
                            
                            
                            
                        测试过程异常
大佬,我测试用的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>
大佬知道这是什么问题吗? 请大佬帮忙看一眼,,谢谢了
大佬能帮小弟看看嘛
你是要把所有的test语音都测试一下?
你好,我测试运行也是这样的。现在想加入一个新的 wav文件测试,不知道该怎么操作?求教
你们运行的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 https://blog.csdn.net/dou3516/article/details/77836459
@thesunnyman 我运行训练的时候都没有问题,就是测试的时候出现的问题,报这个错,我用的也是GPU训练的 ,我有GPU的机器
@thesunnyman 我是在运行test.py的时候报错的,就是训练好之后,测试的时候报错
这个不对啊 ,就只能用test的文件测试,换成自己的就不行了,我之前就是一直用的自己的就不行,如果换成测试的那个就可以了,也就是说用哪个训练就得用哪个测试 ,这样意义不是很大啊 。
这只是一个代码例子,展示一个语音识别的流程,你可以根据你的需求修改,或者换成你们自己的数据测试。如果有改进,希望也能共享出来一起学习
@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 debug跟踪下代码,是哪行出的问题
    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)这句话调用的张量跟上面的生成的不符合,所以就过不去了。
你跑代码的时候大概跑到多少epoch,结果会接近准确?我我跑的速度很慢,而且gpu跑2天输出的字还是奇奇怪怪的 @xxbb1234021 @provenpeng
100步左右就可以了,主要跑完了,不能单独输入图片去测试
哦哦
@feifaxiaoming 我也遇到了同样的问题,请问解决了吗?只能跑默认的test,自定义路径或文件都会报错
我也遇到了这种问题,请问您找到解决方法了吗 @feifaxiaoming @ZeR0ll
这个更像是一个demo,作者似乎也不打算更新,我尝试了一下发现作者的测试集是在训练集上做的,对自定义的语音识别效果很差。所以这个拿来学习一下就好了。
我也遇到了同样的问题,测试单个文件会报错,请问这个怎么解决?@feifaxiaoming @xxbb1234021
@feifaxiaoming 你的cpu成功了 ?
100步左右就可以了,主要跑完了,不能单独输入图片去测试
感觉60多次后就收敛的比较好了.
你们运行的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)]] 这种错误吗?
就是报这个错. 还没找到办法解决,
运行环境: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