在服务器上进⾏深度学习的⼊门教程1.远程登录
Windows⽤户推荐使⽤Xshell
主机那⾥填上服务器IP,下⾯填⼀下端⼝号,然后点击连接,之后会让你输⼊⽤户名密码,输⼊之后就可以进⼊啦2.GPU状态
进⼊之后可能⼤家最想关注的就是GPU占⽤情况,可以使⽤⼀下两种命令来查看⼀下~
watch -n 1 nvidia-smi
或者
watch --color -n 1 gpustat --color
其中,--n是代表刷新时间,1就是每秒刷新⼀次;--color是加颜⾊好看⼀点QwQ,去掉也可以
按ctrl+z可以退出哦~
3.传输⽂件
如果显卡有空闲,我们就可以准备跑代码啦
不过⾸先需要把代码和数据集复制到服务器上。这⾥推荐使⽤Xftp,和Xshell⼀块下载就可以。
在Xshell中点击这个按钮就可以传输⽂件了,界⾯⼗分友好,直接把Windows的⽂件拖过去就⾏了
甚⾄可以像Windows⼀样操作Linux⾥的⽂件哦
要想运⾏python⽂件,除了坏(服务器上要⽤Anaconda不然⼈多容易乱掉),还要把⽂件的访问权限更改⼀下,如果是⼩⽩没有特殊需求的话可以直接
chmod 777 xxx.py
777就是把权限拉满。如果有不希望其他⼈访问这个⽂件等其他需求,可以查⼀下linux⽂件访问权限的相关知识随意修改。
嫌⿇烦的话在Xftp中也是可以修改权限的
4.运⾏代码
在activate你⾃⼰的Anaconda环境并更改⽂件权限之后,使⽤
python xxx.py
即可运⾏代码。
不过我们可能需要并⾏运⾏多种参数的代码
在命令后⾯加上&即可让命令在后台执⾏。为了能看到训练⽇志,可以使⽤>将输出重定向到⼀个⽂件中(否则会直接打印到屏幕上)
运⾏的时候代码中要调的参数⽤argparse(⽐较常见的东西,如果你读别⼈的代码的话⼏乎都是⽤这个的)
⽐如要调整dropout参数和lr参数:
python train.py --dropout=0.6 --lr=0.005 > &
⽤jobs命令可以查看后台任务的运⾏状况(任务号、进程号、stopped、running等),在前台运⾏的程序⽤ctrl+z可以stop它并丢到后台,⽤bg [任务号] (不含⽅括号,介绍linux命令的⽂档都是这种格式哦)命令可以让stopped的任务继续在后台跑,⽤fg[任务号]命令可以让后台的任务来前台执⾏。
为了防⽌忘记上⾯调了那些参数,可以把命令写成shell脚本,即创建⼀个xxx.sh⽂件,把上⾯的这条命令放进去,然后赋予⽂件权限后⽤./xxx.sh 即可
还可以在y前⾯加上指令指定使⽤哪块GPU,⽐如
CUDA_VISIBLE_DEVICES=0 python train.py --dropout=0.6 --lr=0.005 > &
就是使⽤0号GPU
注意:对于TensorFlow⽤ 户⽽⾔,程序中新建Session时⼀定要设置gpu_options.allow_growth为True。否则 TensorFlow 会占⽤掉你选中显卡的所有显存
有时候可能想要跑多个参数,可以把多个参数放到.sh⽂件中让它⼀个⼀个跑,然后就可以愉快地摸鱼去啦~
在正式运⾏代码之前,有必要介绍⼀下tmux。tensorflow入门教程
tmux是Terminal MultipleXer的缩写,意思是“终端复⽤器”,为什么要介绍它呢?
要知道,我们的ssh连接在中断之后,其中的进程也会终⽌,也就是说我们跑⼀个代码要⼏天的话中间ssh连接断开了,这⼏天也就⽩跑了。
⼀种⽅式是在命令前⾯加上 nohup
nohup python train.py --dropout=0.6 --lr=0.005 > &
不过这样还不够⽅便,因为我希望实时知道每个代码运⾏到什么程度,⽐如创建多个窗⼝,让每个代码都在前台跑,我需要看的时候直接进⼊这个窗⼝就可以看到训练进度。⽽且当我们ssh连接断开时,这些窗⼝并不会关闭,代码还会继续跑!
这就是tmux的⽤处!
安装好tmux后,使⽤
tmux new -s xxx
创建⼀个名为xxx的会话(tmux session),之后就会进⼊⼀个tmux窗⼝,其左下⾓
代表当前窗⼝的名称编号等信息
按Ctrl+B,之后再按C即可创建⼀个新窗⼝
上⾯的三个窗⼝中,2:bash有⼀个星号*, 代表当前的窗⼝是2
按Ctrl+B,之后再按相应数字键即可切换到相应窗⼝(Linux中尽量不要按108键盘右⾯的键盘区数字可能会有问题)
如果⼀次开9个以上窗⼝,就需要其他的⽅式切换了,不过开这么多窗⼝毕竟就不够⽅便了,也可以再新建⼀个会话
使⽤Ctrl+B,再按D可以退出当前会话,或者输⼊tmux detach也可以退出(注意,⽤Ctrl+D会删除当前窗⼝,删掉就回不来了,不要搞混哦。只有⼀个窗⼝的时候会删掉会话)
查看已有的session列表:
tmux ls
重新连接某个会话:
tmux attach -t xxx
上下分屏:Ctrl + B 再按 "
左右分屏:Ctrl + B 再按 %
切换分屏:Ctrl + B 再按 o
将以下配置⽂件(⽂件名:.f)添加到⾃⼰的⽬录下,并将tmux退出再重进,即可使⽤⿏标:
# mouse mode on
set-option -g mouse on
还可以添加如下⽂件(.vimrc)让vim也更加好⽤:
set nu
syntax on
set hlsearch
set tabstop=4
set showmatch
set ruler
set mouse=a
set laststatus=2
set statusline=%f " Path to the file
set statusline+=\ -\ " Separator
set statusline+=FileType: " Label
set statusline+=%y " Filetype of the file set statusline+=\ \ \ " Separator
set statusline+=%4l/%L " Current line
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论