0

我正在通过执行以下命令在 Ubuntu 16.04 LTS x64 和 4 Nvidia GeForce GTX 1080 上的 Common Voice 数据集上训练 Mozilla DeepSpeech:

./DeepSpeech.py --train_files data/common-voice-v1/cv-valid-train.csv \
--dev_files data/common-voice-v1/cv-valid-dev.csv  \
--test_files data/common-voice-v1/cv-valid-test.csv  \
--log_level 0 --train_batch_size 20 --train True  \
--decoder_library_path ./libctc_decoder_with_kenlm.so  \
--checkpoint_dir cv001 --export_dir cv001export  \
--summary_dir cv001summaries --summary_secs 600  \
--wer_log_pattern "GLOBAL LOG: logwer('${COMPUTE_ID}', '%s', '%s', %f)"  \
--validation_step 2 

它使用了 4 个 GPU 中的 80% 以上。

但是,如果我添加--display_step 2参数,它会显着减慢训练时间,并且它使用不到 4 个 GPU 的 20%。

这让我感到惊讶,因为它--display_step描述为

tf.app.flags.DEFINE_integer ('validation_step', 0, '我们在验证模型之前循环的时期数 - 详细的进度报告取决于“--display_step” - 0 表示没有验证步骤')

所以根据我的理解,模型应该每 2 个 epoch 评估一次,因此不应该减慢训练时间(即,它应该每 2 个 epoch 增加一些评估时间)。

为什么添加--display_step 2参数会显着减慢 Mozilla DeepSpeech 训练时间?

4

1 回答 1

0

可能是因为(a)您没有给出 test_batch 参数,因此您使用 size 1 或(b)这是一个非常古老的选项,现在已被弃用,因此没有以任何方式优化。

请说明您使用的是什么版本,当前版本是 0.9.2。也许更新?

于 2020-12-07T08:52:22.263 回答