Получение SIGKILL при запуске оптимизации исследования с помощью Optuna на PyCharm
Я пытаюсь провести исследование, используя функцию оптимизации с семплером по умолчанию и средним секатором. при каждом запуске происходит сбой, иногда после одной успешной попытки, иногда без завершения. Сообщение о сбое: Процесс завершен с кодом выхода 137 (прерван сигналом 9: SIGKILL)
Ожидаемое поведение
проведение исследования
Окружающая среда
- Версия Optuna: 2.0.0
- Версия Python: 3.8
- ОС:QubeOS с ВМ debian 10
- (Необязательно) Другие библиотеки и их версии: Pytorch '1.5.0+cpu'
Сообщения об ошибках, трассировки стека или журналы
Процесс завершен с кодом выхода 137 (прерван сигналом 9: SIGKILL)
что вызывает такую ошибку?
2 ответа
Одна из вероятных ситуаций состоит в том, что ваш процесс потребляет много памяти и его убивает OOM-убийца операционной системы. Вы можете отслеживать потребление памяти вашим процессом, используя такой инструмент, какtop
и посмотрите, много ли он использует памяти.
Вы также можете запустить dmesg
в консоли и поищите в выводе сообщения от OOM killer. Убийца OOM обычно печатает там, какой процесс он убил. Проверьте, соответствует ли идентификатор вашего процесса.
Если процесс действительно убит OOM-убийцей, то единственное средство, вероятно, - уменьшить потребление памяти программой (или получить машину большего размера).
вы можете играть безопасно и использовать
gc_after_trial=True
есть Study.optimize(timeout=300), но мне не удалось заставить это работать, есть также тайм-аут и лимит n_trial, которые вы можете установить, если используете tpesampler в HyperbandPruner. наконец, что для меня работает, так это более низкое n_jobs (я установил значение -1 и имел тенденцию увеличивать все свои ядра до 100% и, наконец, просто зависать).