深度学习炼丹师常用Linux和Docker命令"/>
深度学习炼丹师常用Linux和Docker命令
作为一名初级炼丹术士已经快半年了,记录一下工作中常用的Linux和Docker命令。
Linux命令
top的升级版:
htop
查看GPU实时占用:
watch -n 1 nvidia-smi
或者命令(可以查看GPU的用户占用情况)
pip install gpustat
watch -n 1 gpustat
统计文件夹下文件数目:
ls | wc -l
统计文件夹下jpg后缀的文件数目:
ls | grep "jpg" | wc -l
查找文件夹下所有jpg后缀的文件(可以递归查找):
find -name "*jpg"
删除文件夹下所有非jpg后缀的文件:
rm !(*jpg)
cp/ls/rm命令报错:Argument list too long
find dir1 -name "*" -exec cp {} dir2 \;
ssh连接远程机器:
ssh 用户名@IP地址
跨机器拷贝文件:
scp 本地机器文件名 远程机器用户名@远程机器IP地址:远程机器目标路径
把训练程序挂在后台打印日志及查看日志(防止ssh中断):
nohup python ./train.py >>log.out 2>&1 &
tailf log.out #实时查看日志内容,docker容器用不了tailf命令可以用tail -f替代
杀死后台python进程:
ps -ef | grep python #查看进程ID
kill -9 进程ID
延时启动训练脚本:
#!/bin/bash
echo 'sleep 10000s'
sleep 10000 &
wait
echo 'start train'
nohup python ./train.py >>log.out 2>&1 &
tailf log.out
Docker命令
拉取镜像:
docker pull 镜像名称
从镜像创建并启动容器(设置使用所有GPU,设置挂载目录):
docker run -it --gpus all -v 宿主机绝对路径:容器内挂载路径 --name 容器名称 镜像名称 /bin/bash
启动容器:
docker start 容器名称
对容器进行交互操作:
docker exec -it 容器名称 /bin/bash
退出容器:
exit #在容器内操作
停止容器:
docker stop 容器名称
删除容器:
docker rm 容器名称
重命名容器:
docker rename 容器原名称 容器新名称
容器和宿主机之间文件拷贝:
docker cp 宿主机路径 容器名称:容器内路径 #宿主机拷贝文件到容器
docker cp 容器名称:容器内路径 宿主机路径 #容器拷贝文件到宿主机
更多推荐
深度学习炼丹师常用Linux和Docker命令
发布评论