文章目录

  • 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 详解

Python 显示gpu python查看gpu_字符串


这是服务器上特斯拉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

Reference