Автор: Александр Гончаренко Редактура: Андрей Шадриков, Илья Бакалец
В этой статье мы расскажем о нескольких 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
, чтобы нечаянно не поделиться с кем-то своими паролями или приватными ключами.
Когда мы обучаем модельки, мы хотим максимально эффективно использовать ресурсы рабочей машины для более быстрых результатов.
Давайте разберемся, как можно посмотреть применение разных ресурсов.