Автор: Александр Гончаренко Редактура: Андрей Шадриков, Илья Бакалец
В этой статье мы расскажем о нескольких Linux-командах — они ****позволят сильно упростить работу любого Data Scientist'а. Рассмотрим распространенные задачи, которые могут перед нами возникнуть, и решим их вместе 🙂
Обычно мы обучаем модели не на своем железе, а на выделенном сервере. К нему мы можем подключиться через ssh.
Одна из проблем такого подключения — при закрытии ssh-соединения наш сеанс на сервере прерывается. Следовательно, если мы подключимся и запустим какую-нибудь команду (например, python train_model.py), то после закрытия соединения программа перестанет выполняться.
Как этого можно избежать?
Screen — ****это ****команда для запуска новой виртуальной сессии, которая будет выполняться на заднем фоне.
Для этого нам достаточно обратиться к команде screen -s name (имя сессии можно не указывать): у нас появится новая сессия, где можно запустить команду. После этого мы отключимся, но команда продолжит выполняться.
Если мы подключимся обратно — сможем вернуться на эту сессию с помощью screen -r name. При запуске одной виртуальной сессии необязательно указывать ее имя. Увидеть список всех сессий можно через screen -ls. А отсоединиться от запущенной сессии — через CTRL+A и затем D.
Есть и другая команда — Tmux. Она работает идентично Screen.
Ниже представлена таблица соответствия команд для Screen и Tmux:
| Функция | Screen | Tmux |
|---|---|---|
| Начать новую сессию с именем session_name | screen -S session_name |
tmux new -t session_name |
| Подключиться к сессии с идентификатором process_id или с именем session_name | screen -r process_id/session_name |
tmux a -t process_id/session_name |
| Переименовать сессию | Ctrl+a :sessionname session_name |
Ctrl+b $ |
| Отсоединиться от сессии | Ctrl+a d |
Ctrl+b d |
Для обеих команд можно изменить escape комбинацию клавиш. Как это сделать?
Для Tmux нужно создать файл ~/.tmux.conf и добавить туда строчку ****set-option -g prefix <новый_символ>, а для Screen — создать файл ~/.screenrc и добавить туда escape <новый_символ>.
Можно заметить, что файлы конфигурации начинаются с символа
.. Поэтому их называют dotfiles. Большинство инструментов хранят здесь свои настройки. Часто их удобно хранить в гите или облаке — тогда ими можно будет удобно пользоваться на новом сервере и каждый раз не вспоминать, где настраивается тот или инойhotkey. Но важно внимательно отслеживать, что именно лежит в вашихdotfiles, чтобы нечаянно не поделиться с кем-то своими паролями или приватными ключами.
Когда мы обучаем модельки, мы хотим максимально эффективно использовать ресурсы рабочей машины для более быстрых результатов.
Давайте разберемся, как можно посмотреть применение разных ресурсов.