Я купил учетную запись сервера в школьной лаборатории и записал шаги по настройке среды и обучению модели.
Примечание. Из-за нехватки места в этой статье представлены только основные принципы использования при использовании определенных команд.Подробности см. по ссылке в приложении.
Просмотр основной информации о сервере
Информация о версии Linux
пройти черезcat /etc/centos-release
Посмотрите дистрибутив линукса.
пройти черезarch
Глядя на архитектуру операционной системы, выведите x86_64 для 64-разрядной системы и выведите i686 или i386 для 32-разрядной системы.
Как видно из рисунка, автор использует CentOS 7.7, 64-битную систему.
Информация о графическом процессоре
пройти черезnvidia-smi
Вы можете просмотреть информацию о состоянии графического процессора, а результат выполнения показан на рисунке.
Пояснение параметров в части формы:
- ГП:Номер графического процессора в машине (при наличии нескольких видеокарт номер начинается с 0)
- Производительность:Состояние производительности графического процессора от P0 (максимальная производительность) до P12 (минимальная производительность)
- Стойкость-М:Состояние непрерывного режима.Хотя непрерывный режим потребляет много энергии, запуск нового приложения графического процессора занимает меньше времени.На рисунке показано: выкл.
Настроить среду conda
1. Загрузите установочный пакет Linux (файл .sh)
официальный сайт анаконды-->Download Site-->Anaconda3-2019.03-Linux-x86_64.sh
2. Установите Анаконду3
bash Anaconda3-2019.03-Linux-x86_64.sh
3. Добавьте каталог bin в каталоге установки в текущий файл переменных среды пользователя (~/.bash_profile).
Добавьте строку в конце файла профиля:export PATH=/你的安装目录/anaconda3/bin:$PATH
использоватьsource ~/.bash_profile
Пусть конфигурация вступит в силу.
Если он появляется перед терминалом(base)
, что означает, что conda была успешно установлена и вошла в виртуальную среду с именем base в conda.
Чтобы выйти из среды conda, используйте командуconda deactivate
, вы можете закрыть(base)
намекать.
использоватьconda env list
показать все виртуальные среды
Примечание. Некоторые ПРЕДУПРЕЖДЕНИЯ отображаются при выполнении команды, что означает, что в новой версии были удалены некоторые файлы, которые здесь используются.
conda update -n base conda
Команда для обновления версии conda для решения этой проблемы.
5. Обновите среду и настройте
Сначала создайте средуconda create –n 环境名
, повторное использованиеconda activate 环境名
в окружающую среду.
Примечание. Рекомендуется создавать среду без указания версии Python, например
conda create -n myenv python=3.6
. Только когда версия не указана, созданная среда будет полностью совместно использоваться с основной средой, и она будет установлена только в основной среде при использовании pip для установки. только при успешном использованииconda install something
После этого среда стала независимой. Ссылаться наофициальная документация
Настроить среду проекта
1. Загрузите код проекта, используя ssh или sftp
Ссылка на ссылку:XShell загружает файлы на сервер Linux - Desperado_nbf - Blog Park (cnblogs.com)
2. Перейдите в папку с кодом и настройте среду
использоватьpip install -r requirements.txt
Установите пакеты, необходимые для проекта.
также можно использоватьconda install --yes --file requirements.txt
установить.
Если в проекте нетrequirements.txt
файл, вы можете проверять сообщения об ошибках во время работы проекта и шаг за шагом устанавливать зависимые файлы.
[Необязательно] При использовании pip для установки зависимостей проекта вы можете сначала обновить и изменить источник pip.
# 升级pip版本(可选)
python -m pip install --upgrade pip
# ===> 或使用 sudo pip install --upgrade pip
# 更改pip源为清华源(可选)
mkdir ~/.pip
vi ~/.pip/pip.conf
# ===> 添加下面的内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
# ===> 然后保存并退出,以后使用pip install时,就可以享受正常网速了
3. Используйте VSCode для удаленного редактирования кода сервера [необязательно]
Ссылка на ссылку:VsCode подключается к серверу и редактирует код на стороне сервера - Ищу программиста
4. Настройте блокнот Jupyter [необязательно]
Ссылка на ссылку:Установка среды Linux conda&jupyter
запустить проект
1. Проверьте, правильно ли работает проект
При запуске проекта автор столкнулся с такой проблемой
File "~/MyCode/RecursiveSeparation/uPIT_2spk/trainer.py", line 16, in <module>
import matplotlib.pyplot as plt
File "~/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py", line 32, in <module>
import matplotlib.colorbar
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ~/anaconda3/lib/python3.7/site-packages/matplotlib/_path.cpython-37m-x86_64-linux-gnu.so)
Самое простое решение заключается в следующем
$ vim ~/.bash_profile # 将下面两行命令写进文件
LD_LIBRARY_PATH=~/anaconda3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
$ source ~/.bash_profile
2. Включите демон
Чтобы поместить программу в фоновый режим, мы обычно используем nohup.
При использовании терминального инструмента, такого как xshell, для выхода он отправит процесс процессу, который мы запустили в текущей оболочке.SIGHUP
Signal, действие по умолчанию этого сигнала состоит в том, чтобы завершить процесс, в результате чего ранее запущенная программа закрывается после закрытия соединения.
по командеnohup python train.py(进程名) &
можетtrain.py
Установите в качестве команды демона для запуска.
nohup
пара командtrain.py
Процесс делает три вещи:
- Не допустить
SIGHUP
Сигнал отправляется этому процессу; - Закройте стандартный ввод. Процесс больше не может получать какие-либо данные, даже если он запущен на переднем плане;
- Перенаправить стандартный вывод и стандартную ошибку в текущий каталог
nohup.out
документ.
Это,nohup
Команда фактически отключает дочерний процесс от сеанса, в котором он находится.
Чтобы установить выходной файлnohup.out
пути, а также перенаправляет сообщения об ошибках наnohup.out
в использованииnohup python -u train.py >train.log 2>&1 &
. в>
символ перенаправления, первый>
означает перенаправление стандартного вывода в train.log, второй>
Указывает, что сообщения об ошибках также перенаправляются на стандартный вывод.>
Местоположение изменить нельзя.-u
Убедитесь, что вывод можно своевременно сохранить в файл.
Уведомление,
nohup
Команда автоматически не превращает процесс в «фоновую задачу», поэтому ее необходимо добавить&
символ.
3. Обнаружение текущего состояния процесса
ps
Команда используется для просмотра состояния процессов в системе.
Общее использованиеps -ef | gerp train.py(进程名)
показыватьtrain.py
ситуация процесса.
Некоторые параметры команды ps:
- -e показать все процессы
- -f показать всю информацию (полный формат)
функция gerp train.py
- «|» — это конвейерная команда, что означает, что команда ps и команда grep выполняются одновременно.
- grep означает найти, использоватьрегулярное выражениеНайдите текст и напечатайте соответствующие строки.
Результаты
UID PID PID PPID PPID C C STIME TTY TIME CMD
Значение каждого поля:
- UID: владелец процесса
- PID: идентификатор процесса
- PPID: идентификатор родительского процесса.
- C : процент ресурсов, используемых процессором.
- STIME: время запуска системы.
- TTY : расположение терминала для входа в систему
- ВРЕМЯ : используемое процессорное время
- CMD : выданная команда
На картинке обведено то, что автор использовал раньшеnohup
Созданный процесс-демон видно, что его PPID равен 1, то есть процесс init, что соответствует характеристикам процесса-демона. И видим, что значение поля C равно 99, а это значит, что этот процесс занимает 99% ресурсов процессора.
Если мы хотим убить процесс, мы можем использоватьkill
команда +-s KILL
(сигнал для отправки) +PID
номер, отправить сигнал KILL процессу, указанному PID (Linux однозначно определяет процесс по номеру PID). какkill -s KILL 9979
.
легко, также доступноkill %9979
обе команды имеют одинаковый эффект.
затем пройтиps -ef | gerp train.py
Глядя на процесс train.py, вы обнаружите, что этот процесс был убит.
На этом пост в блоге заканчивается. Это мой первый блог на Nuggets. Если есть какие-либо ошибки, пожалуйста, не стесняйтесь сообщать об этом в комментариях.
Reference
Просмотр информации о версии операционной системы Linux — vaelailai — Blog Park (cnblogs.com)
Подробное объяснение команды nvidia-smi для графического процессора - Требуется программист
Centos7 устанавливает Anaconda3 и общие команды conda - geek-share (geek-share.com)
Как обновить источник пипсов - Облако+Сообщество - Tencent Cloud (tencent.com)
VsCode подключается к серверу и редактирует код на стороне сервера - Ищу программиста
ImportError: /lib64/libstdc++.so.6: версия `CXXABI_1.3.9' не найдена - разыскивается программист
Как обновить источник пипсов - Облако+Сообщество - Tencent Cloud (tencent.com)
Как запустить демон Linux — сетевой журнал Ruanyifeng (ruanyifeng.com)
Подробное объяснение ps -ef|grep - отчаяние_призрак - Blog Park (cnblogs.com)