服务器相关
基本命令
查看GPU状态:
- 查看GPU信息
- 查看CPU信息
- 查看系统版本号
nvidia-smi
lscpu
lsb_release -a
清屏:
clear
anaconda相关:
- 查看环境列表
- 激活虚拟环境
- 退出虚拟环境
- 跳转至目录
- 跳转至上一级目录
conda env list
conda activate [环境名]
conda deactivate [环境名]
cd [路径]
cd ..
进入虚拟环境后:
- 查看虚拟环境中的package
- 安装新的package
- 执行python文件
pip list
pip install [package name]
python [文件名].py
ctrl+c: 停止当前命令的执行
在命令行运行python:
- 进入python环境:
python
- 退出环境:Ctrl+D /
exit()
(Linux环境)
后台运行
screen
【【Linux后台运行】服务器系列-Screen的使用教程】 https://www.bilibili.com/video/BV1De4y1F7C3/?share_source=copy_web&vd_source=3aa9ee0c4fcf2e52762a44f906c09534
Ubuntu安装:apt install screen
安装好以后:which screen 可以看到它的路径
功能:1 分屏 2 后台运行
常用参数和使用方法:
- 将命令挂到后台运行:
screen -dmS
e.g. screen -dmS train_net1 bash -c “python train.py”
前面的train_net1是给这个screen起的名字,双引号里面是真正要执行的命令。 - 显示所有screen:
screen -ls
- 将后台的screen拉回前台,并查看实时输出:
screen -r [screen的名称]
e.g. screen -r train_net1 - 重新将screen放回后台:Ctrl+A, 松开Ctrl和A以后按D键
- 停止screen:
- 先拉回前台,然后用正常方法关闭(Ctrl+C)
- 强行停止:screen -XS [screen的名称] quit
- 还是停不掉的话就用htop+任务管理器停止
创建快捷方式(可简化流程,不过由于是自己定义的,会有一定的独特性):vim ~/.bashrc
其中会引入~/.bash_aliases
就是用户自己起的所有的别名
指定特定编号的GPU训练
通过环境变量指定:
在运行代码前,使用CUDA_VISIBLE_DEVICES
环境变量直接限定可见的GPU:
CUDA_VISIBLE_DEVICES=0,1 python train.py
CUDA_VISIBLE_DEVICES=2 python train.py
此环境变量会屏蔽其他的GPU,程序只能看到指定的GPU;全局生效,无需修改代码。
此方式亦可以结合screen使用:
创建screen:
screen -dmS train_net1 bash -c "CUDA_VISIBLE_DEVICES=2 python train.py"
这样的话就可以使用编号为2的GPU进行训练啦!
如果程序里使用parser.add_argument()声明了GPU编号或者在json文件中声明了默认GPU编号,则可能出现上述方法不好用的情况。此时只需要根据程序内容,传入相关的GPU编号参数即可。