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

关于NUM_FRAMES等参数设置的问题 #6

Closed ShaofengZou closed 5 years ago

ShaofengZou commented 5 years ago

新年好呀!

您好,最近我在研究您的这个deep speaker程序,在自己的笔记本上用CPU跑的,跑train.py的时候会出现资源不够用的情况:

tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[96,128,16,16] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc..

然后我发现改小NUM_FRAMES的值,比如调整至32,train.py就可以跑起来了。

研究了下您的代码,发现是在minibatch的时候,使用clipped_audio函数对之前生成的特征做了截取,想请教一下调小NUM_FRAMES对训练过程会有多大影响,会使训练过程因为特征过少导致模型训练准确度降低吗?

还有想了解下在CPU上重新训练这个模型大概需要多长时间呢?我看您的报告里经过6000个setps大约花了60个小时,这是在GPU上跑的数据嘛?

期待您的回复~

Walleclipse commented 5 years ago

新年好! NUM_FRAMES 就是帧数,我选的是160,这相当于是持续1.6s的语音,已经比较短了。如果你设置成32,相当于0.32s,我觉得这个时间太短了。根据一个0.32s的语音去判断说话者是谁,这个是很难的。所以我觉得这个会导致准确度降低。你可以不改变NUM_FRAMES,而是降低BATCH_SIZE 试试,比如 BATCH_SIZE=2. 我在GPU上跑的,实际上不需要60个小时,但是5个小时以上估计是需要的(当然具体看你的数据集,batch大小和计算机配置)。CPU上我没试过,可能会慢很多。

ShaofengZou commented 5 years ago

嗯嗯,明白了,非常感谢! 祝新年科研顺利!!

Walleclipse commented 5 years ago

不谢! 也祝你一切顺利!