文章目录
- torch 查看GPU
- nvidia-smi 详解
- cuda 用法
- python -m 参数
- 官方文档
- 解释
torch 查看GPU
torch.cuda.is_available() # cuda是否可用;
torch.cuda.device_count() # 返回gpu数量;
torch.cuda.get_device_name(0) # 返回gpu名字,设备索引默认从0开始;
torch.cuda.current_device() # 返回当前设备索引;
reference:https://pytorch.org/docs/stable/cuda.html
nvidia-smi 详解
这是服务器上特斯拉K80的信息。
上面的表格中:
- 第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
- 第二栏的Temp:是温度,单位摄氏度。
- 第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
- 第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
- 第五栏的Bus-Id是涉及GPU总线的东西,domain🚌device.function
- 第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
- 第五第六栏下方的Memory Usage是显存使用率。
- 第七栏是浮动的GPU利用率。
- 第八栏上方是关于ECC的东西。
- 第八栏下方Compute M是计算模式。
reference:
cuda 用法
#查看所有已导入的依赖包
conda list
#查看虚拟环境
conda env list
#创建python3.7虚拟环境
conda create -n python3.7 python=3.7
#创建python3.7环境,并安装anaconda包
conda create -n python3.7 python=3.7 anaconda
#切换环境
conda activate python3.7
#退出环境
conda deactivate
python -m 参数
官方文档
-m: run library module as a script(将模块当作脚本运行)
解释
在 python 中,所谓的模块,其实也是一个由代码组成的普通脚本文件。这些文件通常会提供一些有用的东西,例如函数或者类,然后我们通过 import 导入使用,而且当我们引入模块的时候,不会产生副作用。但实际上如果我们在 shell 中直接运行这个脚本文件,很有可能会看到有副作用产生。在文件内部,我们一般通过下面的代码来区分当前脚本,是作为模块导入,还是作为脚本直接运行。
if __name__ == '__main__':
print('模块直接运行');
当文件作为脚本直接运行时,这段代码会产生副作用,输出字符串“模块直接运行”;
当文件作为模块被导入时,不会产生副作用,不输出字符串“模块直接运行”;
回到正题,当我们知道一个模块的名字,但不知道它的路径时,我们可以通过 -m 参数,在 shell 中将该模块当作脚本运行,例如:
python -m module_name
事实上,如果我们知道模块的完整路径(此处假设为"/path/to/module.py"),上述命令的效果,以下面的命令等同
python /path/to/module.py