本文已参与「新人创作礼」活动,一起开启掘金创作之路。
会专门整理一些linux上跑深度学习,比如pytorch等的小技巧,方便查看。
今天介绍两个小技巧,第一个是查看GPU被哪个进程占用?。
有时候会发现明明进程都关了,尤其是用jupyer notebook的时候,因为没办法自动清除显卡缓存,所以会一直占用着GPU显存。有时候关了发现cuda显存还是满了。这时候就可以看一下到底是哪个进程占用了。下面是两个方法:
方法一(最简单):
nvidia-smi
出来的结果,直接就有PID,然后再用ps -ef|grep [PID],就知道这个PID是哪个程序在跑了,可以用kill [PID]杀掉进程。
方法二(使用fuser命令):
fuser -v /dev/nvidia*
fuser 结果,数字即为PID。
找到占用的[pid](一般就是python, 图中即为13242和52360),然后:
ps -ef|grep [pid]
最后
kill -9 [pid]
如果没装fuser
apt-get install fuser
如果找不到,则配置Ubuntu源,然后更新
配置Ubuntu源可参考: www.jianshu.com/p/eb9bd6142…
python查看package安装路径
第二个问题是,想查看python安装的package到底装到了哪个位置。比如我们要查看torch_geometric这个包装在了哪里,可以用下面的程序来查看。如果要查看其他的package的话,只要替换一下名字就可以了。
方法一:
import inspect
import torch_geometric
print(inspect.getfile(torch_geometric))
# output: /usr/local/lib/python3.6/dist-packages/torch_geometric/__init__.py
方法二:
其实还有个简单的办法:
pip show tensorflow
查看pip安装包的版本:
第三个问题是有时候版本不兼容的问题,想要查看当前安装的版本是哪个版本,当然用上面的命令我们可以一个一个查看,但是有时候关联的包有很多个,想一次性的查看,那么可以用下面的命令:
pip list |grep xxx