Я хотел бы зарегистрировать conda.yaml для управления исходным кодом вместе с ноутбуком Jupyter, чтобы коллаборационисты могли без труда запускать ноутбуки в согласованной среде.
Без MLFlow для этого требуется:
- Создание conda env из файла yaml
- Активация conda env
- Запуск Jupyter
- Обновление среды conda вручную при каждом изменении yaml.
Проекты MLFlow хорошо решают эту проблему в неинтерактивной среде, где я могу зафиксировать файл MLproject, указав conda.yaml и команду, которая запускает сервер Jupyter, а затем просто запустить
mlflow run .
в каталоге ноутбука.
Я обнаружил, что когда я запускаю ноутбук Jupyter с помощью проектов MLFlow, он не обрабатывает SIGINT так же, как при запуске Jupyter напрямую из командная строка - вместо запроса: Shutdown this notebook server (y/[n])?
родительский процесс немедленно завершает работу, оставляя Jupyter запущенным.
Есть ли ome settings / config, которые будут использоваться для того, чтобы MLFlow передавал сигнал SIGINT Jupyter и корректно завершал работу?
Я запускаю записную книжку с командой: python -m jupyter notebook --NotebookApp.open_browser=False --NotebookApp.ip=0.0.0.0 --NotebookApp.port=8890
и мой MLproject файл выглядит так:
name: jupyter
conda_env: ./conda.yaml
entry_points:
main:
command: "python -m jupyter notebook --NotebookApp.open_browser=False --NotebookApp.ip=0.0.0.0 --NotebookApp.port=8890"