Увеличение --train_batch_size 2 до --train_batch_size 3 заставляет Mozilla DeepSpeech больше не тренироваться. Зачем?
Увеличение --train_batch_size 2
в --train_batch_size 3
заставляет 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 --limit_train 10000 --train_batch_size 2 --train True
я получил set_name: train
:
D Starting queue runners...
D Queue runners started.
I STARTING Optimization
D step: 77263
D epoch: 61
D target epoch: 75
D steps per epoch: 1250
D number of batches in train set: 5000
D batches per job: 4
D batches per step: 4
D number of jobs in train set: 1250
D number of jobs already trained in first epoch: 1013
D Computing Job (ID: 2, worker: 0, epoch: 61, set_name: train)...
D Starting batch...
D Finished batch step 77264.
D Sending Job (ID: 2, worker: 0, epoch: 61, set_name: train)...
D Computing Job (ID: 3, worker: 0, epoch: 61, set_name: train)...
D Starting batch...
D Finished batch step 77265.
D Sending Job (ID: 3, worker: 0, epoch: 61, set_name: train)...
D Computing Job (ID: 4, worker: 0, epoch: 61, set_name: train)...
D Starting batch...
D Finished batch step 77266.
D Sending Job (ID: 4, worker: 0, epoch: 61, set_name: train)...
[...]
Однако, если я бегу:
./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 --limit_train 10000 --train_batch_size 3 --train True
я получил set_name: test
:
D Starting queue runners...
D Queue runners started.
D step: 77263
D epoch: 92
D target epoch: 75
D steps per epoch: 833
D number of batches in train set: 3334
D batches per job: 4
D batches per step: 4
D number of jobs in train set: 833
D number of jobs already trained in first epoch: 627
D Computing Job (ID: 2, worker: 0, epoch: 92, set_name: test)...
D Starting batch...
D Finished batch step 77263.
D Sending Job (ID: 2, worker: 0, epoch: 92, set_name: test)...
D Computing Job (ID: 3, worker: 0, epoch: 92, set_name: test)...
D Starting batch...
D Finished batch step 77263.
D Sending Job (ID: 3, worker: 0, epoch: 92, set_name: test)...
D Computing Job (ID: 4, worker: 0, epoch: 92, set_name: test)...
D Starting batch...
D Finished batch step 77263.
D Sending Job (ID: 4, worker: 0, epoch: 92, set_name: test)...
D Computing Job (ID: 5, worker: 0, epoch: 92, set_name: test)...
D Starting batch...
D Finished batch step 77263.
D Sending Job (ID: 5, worker: 0, epoch: 92, set_name: test)...
[...]
Я тренирую Mozilla DeepSpeech, используя 4 Nvidia GeForce GTX 1080.
1 ответ
Проблема, как указал lissyx, заключалась в том, что каталог контрольных точек не был очищен. Это было видно в журнале в деталях вопроса, например D Finished batch step 77263.
тогда как, если каталог контрольных точек очищен, пакетный шаг должен быть 0
, В результате при работе с --train_batch_size > 2
Это был прямой переход к тестовой фазе.
Расположение по умолчанию каталога контрольных точек в Ubuntu: /home/[username]/.local/share/deepspeech/checkpoints
, Можно изменить местоположение пункта пропуска с помощью --checkpoint_dir
аргумент.