Closed HandsLing closed 4 years ago
解码里面有个最大解码汉字长度设置,如果超出长度设置(默认50或者60个单元)是不能识别的,如果是 英文应该适当修改,对于绝大多数中文句子的话应该已经是足够了。如果没有达到长度就截断了,请检查自己的数据,并且增加训练轮数。
我使用aishell数据集训练了100个epoch,目前的cer为8.3,然后目前的问题是汉字长度并不长,才十几个字就没了
还有一个问题请问您,我加了几个数据,总共有100万条语音数据来训练,batchsize设为40,其余的参数都没动,训练了几百次就出现了RuntimeError: CUDA out of memory. Tried to allocate 694.00 MiB (GPU 0; 22.38 GiB total capacity; 20.49 GiB already allocated; 614.06 MiB free; 683.84 MiB cached) 请问这是为什么呢?
batch太大了,设置小一点儿就行了,可以设置Accu_steps来获得等效的大Batchsize
我使用aishell数据集训练了100个epoch,目前的cer为8.3,然后目前的问题是汉字长度并不长,才十几个字就没了
这个情况不知道,我从来没有遇到过相似的情况。损失下降到0.1附近。7.1左右的结果要平均10轮左右的参数。如果多卡训练对应减少accu_steps
我使用aishell数据集训练了100个epoch,目前的cer为8.3,然后目前的问题是汉字长度并不长,才十几个字就没了
这个情况不知道,我从来没有遇到过相似的情况。损失下降到0.1附近。7.1左右的结果要平均10轮左右的参数。如果多卡训练对应减少accu_steps
请问Accu_steps在哪里设置呢? 我的loss已经降到了0.03左右了,我是平均了90-99epoch的参数,得到的cer为8.3 目前我将batchsize降到了20,到目前为止还没发现问题,我再训练看看,如果有问题再请教您。 谢谢您的解答
batch太大了,设置小一点儿就行了,可以设置Accu_steps来获得等效的大Batchsize
我之前训练的时候batchsize设置为100都没问题,刚刚batch降到了20还是出了这个错误,是不是训练数据量大起来就会出现这个错误?代码里面是不是存在没有清除的缓存?
还有一个问题请问您,我加了几个数据,总共有100万条语音数据来训练,batchsize设为40,其余的参数都没动,训练了几百次就出现了RuntimeError: CUDA out of memory. Tried to allocate 694.00 MiB (GPU 0; 22.38 GiB total capacity; 20.49 GiB already allocated; 614.06 MiB free; 683.84 MiB cached) 请问这是为什么呢?
你把你的训练数据按长度排序,可能存在一些特别长的数据会让你的显存占用。把某些特别长的去掉也不会影响实验。显存会充分利用。
batch太大了,设置小一点儿就行了,可以设置Accu_steps来获得等效的大Batchsize
我之前训练的时候batchsize设置为100都没问题,刚刚batch降到了20还是出了这个错误,是不是训练数据量大起来就会出现这个错误?代码里面是不是存在没有清除的缓存?
我觉得你这里面有特别长的句子。代码肯定没有问题。
我使用aishell数据集训练了100个epoch,目前的cer为8.3,然后目前的问题是汉字长度并不长,才十几个字就没了
这个情况不知道,我从来没有遇到过相似的情况。损失下降到0.1附近。7.1左右的结果要平均10轮左右的参数。如果多卡训练对应减少accu_steps
请问Accu_steps在哪里设置呢? 我的loss已经降到了0.03左右了,我是平均了90-99epoch的参数,得到的cer为8.3 目前我将batchsize降到了20,到目前为止还没发现问题,我再训练看看,如果有问题再请教您。 谢谢您的解答
设置方法看配置文件。里面有这一项。显然你的训练存在 一定程度的过拟合。可以尝试平均20轮参数。我们的实验只单卡训练60轮,平均10轮,模型结构320x1280就能小于7.4了,多训练几轮或者增大参数可以小于7.0。
batch太大了,设置小一点儿就行了,可以设置Accu_steps来获得等效的大Batchsize
我之前训练的时候batchsize设置为100都没问题,刚刚batch降到了20还是出了这个错误,是不是训练数据量大起来就会出现这个错误?代码里面是不是存在没有清除的缓存?
我觉得你这里面有特别长的句子。代码肯定没有问题。
是的,我筛选了一下数据集,以16秒为界限,筛选出了一些长度大于16秒的音频文件
@HandsLing 你基于aishell数据跑出来7的结果了吗?
@HandsLing 你基于aishell数据跑出来7的结果了吗?
我现在混合了几个数据集共同训练,cer已经低于7了,但是只用aishell数据集训练没有得到7的结果
@HandsLing 你基于aishell数据跑出来7的结果了吗?
我现在混合了几个数据集共同训练,cer已经低于7了,但是只用aishell数据集训练没有得到7的结果
之前data.py里面有个bug, 我目前已经修复了这个问题。
@HandsLing 你基于aishell数据跑出来7的结果了吗?
我现在混合了几个数据集共同训练,cer已经低于7了,但是只用aishell数据集训练没有得到7的结果
我们加个微信吧,这样信息可以共享下。
@HandsLing 你基于aishell数据跑出来7的结果了吗?
我现在混合了几个数据集共同训练,cer已经低于7了,但是只用aishell数据集训练没有得到7的结果
之前data.py里面有个bug, 我目前已经修复了这个问题。
我看到你就加了个import random,没看到其他的变化啊?
@HandsLing 你基于aishell数据跑出来7的结果了吗?
我现在混合了几个数据集共同训练,cer已经低于7了,但是只用aishell数据集训练没有得到7的结果
我们加个微信吧,这样信息可以共享下。
可以啊,Ling2014120918我的微信号
@HandsLing 你基于aishell数据跑出来7的结果了吗?
我现在混合了几个数据集共同训练,cer已经低于7了,但是只用aishell数据集训练没有得到7的结果
我们加个微信吧,这样信息可以共享下。
请问你在Aishell上能跑出10以下的结果吗?我在Aishell测试集上面测试会存在句首少字的情况。能否加一下微信呢?我的微信号是cjw9244
请问一下,单条语音时间最长限制和什么参数有关系呢?当单条语音长度为十几秒的时候,智能识别前面几秒,后面的就不能识别了