Excalibur269 / SpeakerDiarization

edit by lium
5 stars 2 forks source link

关于模型训练 #1

Closed shunfeichen closed 7 years ago

shunfeichen commented 7 years ago

您好,我想请教一个问题,我看了您的脚本,我想知道在ubm训练的时候,是要将几个独立的音频文件合并成一个音频文件吗?

Excalibur269 commented 7 years ago

不需要,需要准备一个包含所有训练数据(wav文件)的seg文件,seg里提示了需要训练的语音区间并且showSeg变量不仅包含文件名还包含此文件的路径

shunfeichen commented 7 years ago

你好,我对你这句话还有点不理解,seg文件包含文件路径是怎么包含的?现在我准备的seg文件一行内容是这样的:77-20160113-102932_e_Shc-57_1452652172 1 1653 64 U U U speech(这是我想做Speech/non Speech 模型训练的标签),你看对吗?

Excalibur269 commented 7 years ago

77-20160113-102932_e_Shc-57_1452652172是文件名吗?第一个字段就是“路径+文件名”,除非你的文件都在当前运行脚本的目录中

shunfeichen commented 7 years ago

非常感谢,在你的指导下,我已经训练出性别模型了,我还有一个问题,UBM模型也是用这种方法训练的吗?如果是这样子训练的,那么UBM的标签应是怎么样的?我看LIUM说的是把几个性别模型合并在一起,这是怎么合并的?

Excalibur269 commented 7 years ago

不客气。 我做UBM的时候并没有考虑说话人的性别,UBM本身是一个用大量不同的说话人数据训练的通用模型,所以训练UBM时标签也不用区分不同的说话人,我都把他们看作是一个说话人。 具体训练的标签和你上面提到的类似,不考虑性别,但是要标记出某个音频说话人出现的时间段,非语音段是不能加入UBM训练的

wjyfelicity commented 7 years ago

@Excalibur269 ,您好,我想请教一下您,我在训练i-vector的总体差异空间矩阵和EFR归一化的时候,运行脚本是按照http://www-lium.univ-lemans.fr/diarization/doku.php/i-vector编写的,但是我在EFR归一化中,出现了一个异常: 09:19.367 MainTools INFO | I-Vector read: .//wld.gmms.iv {readIVectorArrayList() / 10} 09:19.377 TrainEigenFactoINFO | size ivList:1 {main() / 10} 09:19.378 TrainEigenFactoINFO | number of iteration:5 {main() / 10} 09:19.435 TrainEigenFactoSEVERE| error exception {main() / 10} java.lang.RuntimeException: Eigenvalue Decomposition failed at org.ejml.simple.SimpleEVD.(Unknown Source) at org.ejml.simple.SimpleBase.eig(Unknown Source) at fr.lium.spkDiarization.libModel.ivector.EigenFactorRadialNormalizationFactory.computeNormalization(EigenFactorRadialNormalizationFactory.java:84) at fr.lium.spkDiarization.libModel.ivector.EigenFactorRadialNormalizationFactory.train(EigenFactorRadialNormalizationFactory.java:152) at fr.lium.spkDiarization.programs.ivector.TrainEigenFactorRadialNormalisation.make(TrainEigenFactorRadialNormalisation.java:35) at fr.lium.spkDiarization.programs.ivector.TrainEigenFactorRadialNormalisation.main(TrainEigenFactorRadialNormalisation.java:55) 我找了好久,没找到问题具体在哪里,您知道是怎么回事吗?您当初训练i-vector时的脚本有什么区别吗?

Excalibur269 commented 7 years ago

@wjyfelicity 我当时没有训练i-vector,也没有训练i-vector的脚本。建议你按照错误提示,看看报错的函数为什么会报错,单步调试,查找是数据的问题还是脚本的问题,比如漏了哪些步骤之类的。

Umar17 commented 5 years ago

@Excalibur269 I am facing the same problem. Did you get any solution? 我面临同样的问题。你有没有解决方案?