Walleclipse / Deep_Speaker-speaker_recognition_system

Keras implementation of ‘’Deep Speaker: an End-to-End Neural Speaker Embedding System‘’ (speaker recognition)
246 stars 81 forks source link

一些问题 #15

Closed sherdencooper closed 5 years ago

sherdencooper commented 5 years ago

您好,我是一名学生,最近在研究Speech Identification,您的这个项目对我非常有帮助。我有一些疑问希望您能解答

  1. 我看到您在预训练的过程抽取了部分样本作为测试集,但是在triplet loss训练过程中使用的测试数据也是来自训练数据的,并没有做分割,这是为什么? 2.我直接在您的原来项目上跑,train.py得到的EER都很低,训练了20000个steps后得到的EER差不多在0.4%-2%的范围内,并没有看到您在pdf中说的6%-7%的EER,但是我实际分割了30%的数据作为测试集进行triplet loss训练得到的EER大致在6%-7%的样子,是不是您论文中说的6%-7%和5%-6%的结果是在分割了测试集的情况下跑出来的? 3.我想问一下您test_model()中的eval_model()是随机抽取部分测试集而不是全部测试集数据吗,因为我想能在全部的测试集上进行一次评估,请问我该怎么调整相应代码? 提前表示感谢,感谢您上传如此优质的项目
Walleclipse commented 5 years ago

您好!

  1. 预训练过程中是抽取了部分训练样本当做测试集。但是我在真正的triplet loss的训练过程中训练集是 librispeech train-clean-100, 测试集是 librispeech test-clean。这个是不一样的(详情见 deep_speaker实验报告.pdf)。由于无法把完整的数据传上去,所以我只传了sample data 然后再constants.py 里面把DATASET_DIR 和 TEST_DIR 设置成一样了。你做实验的时候需要把 TEST_DIR 改成测试集的路径。

  2. 不知道你用了完整的数据没有?这个sample_data 是很小的。你需要下载完整的 LibriSpeech 数据集再运行程序(用 librispeech test-clean 当做测试集)。然后最重要的是 EER值得是越低越好的,详情请查看 EER

  3. eval_model() 是在所有测试集上测试的,请查看 test_model.py 中的 第 113 ~ 122 行

sherdencooper commented 5 years ago

非常感谢,祝大佬科研顺利!