从零开始的科研:远程连接Linux服务器跑深度学习任务
我使用的编辑器是 pycharm。
远程连接服务器
获取渠道
- 自己购买
eg. AutoDL链接
- 使用分配的账号
使用方式
在 pycharm 的 terminal 中输入登录命令和登录密码
step1:
step2: 这里也需要切换到远程服务器的环境:
step3: 如果想看远程服务器的文件树
需要进行如下配置: 点击 tools -> deployment(部署) -> browse remote host
一件非常重要的事:虚拟环境
程序想要运行,需要 code 和 python interpreter。
这里的 interpreter 是需要限定的。有一个全局范围的 interpreter。而一个虚拟环境包含一个独立的 interpreter 和 相关的 packages。
所以运行代码时要首先 conda activate 进虚拟环境,再运行代码。
运行代码常用命令
首先到 py 程序所在目录下,
运行并直接输出结果
代码如下:
python test.py
存在的问题是如果断网或者关闭代码编辑器,与服务器的连接会中断,代码也无法顺利运行
后台运行(常用)
nohup: 代码如下:
nohup python -u test.py > output.txt 2>&1 & # 表示后台运行 test.py 这一 py 文件,将标准输出和错误都输出到 output.txt 这一文件里
p.s. 加上 -u 才可以显示 print 语句输出的内容
CUDA_VISIBLE_DEVICES=6 nohup python3 -u train.py --source_path mip360/bicycle --model_path output/bicycle_SparseGS --beta 5.0 --lambda_pearson 0.05 --lambda_local_pearson 0.15 --box_p 128 --p_corr 0.5 --lambda_diffusion 0.001 --SDS_freq 0.1 --step_ratio 0.99 --lambda_reg 0.1 --prune_sched 2000 --prune_perc 0.98 --prune_exp 7.5 --iterations 3000 --checkpoint_iterations 3000 -r 2 > nohup.txt 2>&1 & # 含命令行参数版
其他
查看文件绝对路径
pwd
杀死进程
kill命令:结束进程
(1)通过jobs命令查看jobnum,然后执行 kill %jobnum (2)通过ps命令查看进程号PID,然后执行 kill %PID 如果是前台进程的话,直接执行 Ctrl+c 就可以终止了
Ctrl+Z
功能:将一个正在前台执行的命令放到后台,并且处于暂停状态
查看文件内容
tail:显示文件尾部的n行内容
tail -n <行数> filename
cat:查看文件名为file1的文件内容
cat file1
当然也可以直接打开文件查看
查看某一进程占用的cpu、硬盘、内存
top
top -p [PID]
top -u [username]
查看
p.s. 不要连校园网
校园网自带防火墙,有时不能访问外网,造成网络(导致的)报错
本地与服务器上数据的同步
- 可以查看文件树了,可以方便地实现本地和服务器里的文件互传、更新
- 使用 XShell 也可以进行文件互传