我正在通过执行以下命令,在具有4个Nvidia GeForce GTX 1080的Ubuntu 16.04 LTS x64上的公共语音数据集上训练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
参数,它将大大减慢训练时间,并且使用的GPU不到4个的20%。
--display_step
是described as,这让我感到惊讶:
tf.app.flags.DEFINE_integer(“ validation_step”,0,“在验证模型之前我们循环经过的时期数-详细的进度报告取决于“ --display_step”-0表示没有验证步骤”)< / p>
因此,据我了解,该模型应该每2个周期评估一次,因此不应减慢训练时间(即,应该仅每2个周期增加一些评估时间)。
为什么添加--display_step 2
参数会大大减慢Mozilla DeepSpeech的培训时间?