pycharm远程连接服务器跑实验详细操作
跑实验有一天突然电脑卡住了,我吓了一跳,想起之前学长说的不要用自己笔记本电脑跑实验容易把电脑跑坏!!!游戏本虽然能跑,但是很慢不说显卡也挺脆的,跑坏了很麻烦,还是用远程服务器跑吧!!!自己的电脑就留着调试debug用!!!
打开pycharm
由于pycharm太笨重了,所以打开时选择当前要运行的项目即可,不要打开包含多个项目的大文件夹!!!
!!!注意连接远程服务器前,最好把这个项目拷贝一个副本,命名为project_remote,数据集和预处理后的训练集测试集都不要放在里面!数据集用FileZilla上传到数据盘更好更快点!!!
租借远程服务器
从autodl算力平台官网上租借一个服务器,选择基础镜像,选择需要的torch和cuda版本,这个是我租的详细介绍:(1.98一小时还挺贵的)

SSH连接
pycharm打开本地项目project_remote后,先上传代码的话选择无卡模式开机,节约钱!!!然后打开pycharm的SSH连接,输入用户/主机/端口/密码,并创建环境,选择同步到远程主机的文件夹目录
点击创建新环境要等一会
这样就创建好了新的环境!pycharm会更新又需要等一会
浏览远程主机
点击:工具→部署→浏览远程主机
这里可以看到远程主机同步的文件夹,我发现没有数据集,这个文件夹500MB同步也挺慢的!!!
FileZilla上传数据到数据盘

根据autoDL官网的帮助文档,下载并安装FileZilla
点击连接,允许就可以连上远程主机了
这里选择root/autodl-tmp 这个是数据盘,可以新建一个data文件夹存放自己的数据,把数据放在这个数据盘里面更好!!!这样不容易崩系统盘!!!
数据存放路径:/root/autodl-tmp/data

然后从本地选择想要上传的数据集后,右键上传到远程服务器即可
白天上传速度挺慢的,最好晚上上传!!!
跑实验
因为刚刚上传数据是无卡模式开机,所以先要关机再重新开机!!!
关机后重新开机没有空闲GPU的话,可以克隆实例,选择另一台设备:
克隆还是挺快的,主机/端口号会变化
所以还是同样的SSH连接重复操作一遍,这里可以选择现有的环境,但是文件夹也需要同步(可以选择之前已经同步过的文件夹,实例克隆之后已经复制过去了 ):
这里可以查看新的连接是否成功:
修改代码后记得上传代码文件

打开远程终端(建议在终端运行代码!)

一定要选择正确的端口号和主机!!!
以下都在远程终端运行:
python
# 一键安装依赖包
pip install -r requirements.txt
python
# 读取数据盘中的数据集
data = pd.read_csv(
'/root/autodl-tmp/data/ASSISTments/anonymized_full_release_competition_dataset.csv')
python
# 运行数据预处理文件
cd /tmp/MyKT_remote0806/preprocess
python prepare_Assist2017.py
关于路径
当前的执行命令是:
python
cd /tmp/MyKT_remote0806
python run/MyKT/run_Assist2017.py
这相当于从 MyKT_remote0806/ 目录启动脚本,而此时 Python 默认的 sys.path[0] 是 run/MyKT/,不是项目根目录 /tmp/MyKT_remote0806/
方法 1:在run_Assist2017.py脚本中动态添加项目根目录到 sys.path(推荐)
python
import sys
import os
# 添加项目根目录(如 /tmp/MyKT_remote0806)
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')))
方法 2:使用 -m 参数从项目根目录运行(更专业)(远程服务器跑脚本推荐这个)
从项目根目录 /tmp/MyKT_remote0806/ 运行脚本,并使用模块方式:
python
cd /tmp/MyKT_remote0806
python -m run.MyKT.run_Assist2017
⚠️ 注意事项:
必须确保 models/、run/ 等目录中有 __ init __.py 文件(可以是空文件),否则不会被识别为模块包
这里我使用的方法2!!!
注意 run_Assist2017 脚本中路径都会变成根目录 MyKT_remote0806 ,所有读取文件的路径也需要对应上从根目录开始!!!
现在就开始训练了:
监控远程服务器的GPU
可以打开jupyterlab
在终端输入:
python
nvidia-smi -l 5
就可以看到GPU的使用情况了,确实比自己的笔记本跑的快!!!