Conda基本使用

Conda是Python的包管理软件. 以下是一些常用的Conda指令

操作 指令 操作 指令
创建环境 conda create -n <envname> 删除环境 conda remove -n envname --all
激活环境 conda activate <envname> 退出环境 conda deactivate
列出环境 conda env list 列出安装包 conda list
导出环境 conda env export > py36.yaml 导入环境 conda env create -f <file>
克隆环境 conda create -n <scr> --clone <dst> 安装包 conda install -n <envname> <package>

指定特定版本

conda将Python也视为一个包, 因此可以安装特定版本的Python, 只需要在创建环境的时候指定版本, 例如

1
conda create --name <envname> python=2.7

如果需要安装特定版本的包, 也可以使用同样的语法指定版本, 例如

1
conda install pytorch=0.3

显卡信息

使用nvidia-smi查看显卡的基本信息. 界面上同时会显示驱动版本CUDA版本,这对于安装计算框架非常重要.

Conda安装计算框架

安装

1
2
3
4
5
conda create -n tf              # 安装默认版本的Python, 不需要新下载, 速度快
source activate tf

# 注意cudatoolkit需要与驱动版本匹配, 否则无法运行
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

测试

执行如下的代码测试TensorFlow框架是否能使用GPU

1
2
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

执行如下代码测试PyTorch框架能否使用GPU

1
2
3
import torch
torch.cuda.is_available()
torch.cuda.get_device_name(0)

使用GPU

如果服务器上存在多块GPU, PyTorch默认使用第0块GPU, 如果此时第0块GPU正在运行程序, 则可以手动指定其他GPU. 例如希望在第1块GPU上运行, 则可以输入

1
CUDA_VISIBLE_DEVICES=1 python my_script.py

Tmux基本使用

Tmux是一个虚拟的终端, 当我们远程连接服务器时, 如果SSH进程断开, 通过此SSH启动的进程也会结束. 使用Tmux可以使相应的进程在后台运行, 并在需要的时候切换到前台.

操作 指令
创建进程 tmux new -s <session-name>
连接进程 tmux attach -t <num>/<session-name>
断开进程 tmux detach / Ctrl+b d
杀死进程 tmux kill-session -t 0
  • tmux attach可以缩写为tmux a
  • 如果不指定<session-name>, 则默认创建一个数字ID

Tmux绝对比nohup不知道高到哪里去了

高级操作

Tmux具有三级的层次关系, 即session:windows:panel. Tmux实际上可以在一个session上创建多个window, 或者在一个window下创建多个panel(即分屏). 窗口基本的操作都是以前缀键Ctrl+b开始的. 分屏操作指令如下

操作 指令 操作 指令
水平分屏 Ctrl+b “ 垂直分屏 Ctrl+b %
切换窗格 Ctrl+b ↑↓←→ 调整大小 Ctrl+b Ctrl+↑↓←→
关闭窗格 Ctrl+b x 独立窗格 Ctrl+b !
显示编号 Ctrl+b q 全屏窗格 Ctrl+b z

如果能通过分屏解决问题, 则应该先考虑分屏

窗口操作指令如下

操作 指令
Ctrl+b c - (c)reate 生成一个新的窗口
Ctrl+b n - (n)ext 移动到下一个窗口
Ctrl+b p - (p)revious 移动到前一个窗口

参考文献

前后台切换

除了使用Tmux以外, 也可以使用Linux自带的控制指令手动切换前台和后台进程. 首先将当前进程挂起, 然后就可以输入下面的一些指令来切换

操作 指令
将当前进程在后台挂起 Ctrl + z
让进程在后台运行 <command> &
查看后台运行的进程 jobs
让后台运行的进程n到前台来 fg %n
让进程n到后台运行 bg %n
杀死job kill

%n为jobs命令查看到的job编号, 如果不指定则默认为当前的进程或最近的进程

参考文献

最后更新: 2024年03月28日 23:43

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2020/01/26/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E9%85%8D%E7%BD%AE%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%8E%AF%E5%A2%83/