如何在实验室服务器上跑代码

1.工具准备

可以下载一个xshell或secureCRT或者其他shell工具,通过ssh方式连接服务器,然后通过本地电脑终端控制服务器。连接方式输入主机(Host),和端口号(一般是22)就行了。如下图
如何在实验室服务器上跑代码_第1张图片
连接成功后就可以在本地通过shell工具控制服务器了。如下图
如何在实验室服务器上跑代码_第2张图片
再准备一个工具filezilla将本地计算机里面的代码传输到服务器上去。整个流程也很简单,先连接服务器,然后上传指定文件,都是图形化界面操作,这里就不细说。
如何在实验室服务器上跑代码_第3张图片

2.连接服务器后先安装运行代码需要的依赖包,一般深度学习代码可以直接安装一个anaconda。

2.1安装anacondacn

参考这篇博文:安装anaconda

2.2 安装后可能出现conda找不到问题

参考这篇博文:配置环境变量即可未找到conda配置环境变量
成功后输入下面命令即可成功查看conda版本:

conda --version

3 运行代码

3.1 建议建立一个虚拟环境,在虚拟环境中跑代码,不同代码不同的虚拟环境,能避免包冲突。

创建虚拟环境(conda_name为自起虚拟环境名,x.x 为创建的python版本号)

conda create -n codea_name python=x.x

激活环境(也就是进入你建立的的虚拟环境中,之后跑代码将在虚拟环境中进行)

conda activate conda_name
//conda_name为自定义的名字

安装包:进入到你需要运行的代码中,cd进入到requirements.txt文件中,批量安装requirements.txt中的依赖包

pip install -r requirements.txt

运行代码

python train.py

可能出现Module Not Found的情况
如果运行的py文件中需要引用同级目录下其他py文件中的类或函数,需要改变py文件中的系统路径(该路径报错的包上一级文件夹,需要绝对路径通过pwd命令可以查看,如/home/lh/FederatedLearning/pFedHN-main)。不然会报Module NOT Found。在文件首添加下面两句代码:

import sys
sys.path.append('/home/lh/FederatedLearning/pFedHN-main')

参考:Conda 创建虚拟环境并安装依赖包集合 requirements.txt

3.2 使用screen命令退出服务器连接后保持代码一直运行

创建screen窗口 screen_name为自定义的窗口名字

screen -S screen_name

查看screen窗口

screen -ls

进入screen窗口

screen -r screen_name

退出screen窗口(后台依然在运行)

快捷键 CTRL+A+D

结束当前的screen窗口

exit

参考:screen命令

4 Google免费Colab服务器云资源

如果没有服务器资源,可以使用Google提供的免费Colab服务器资源,运行方式和jupyternotebook很相似。
介绍几种常用命令
查看服务器资源

!nvidia-smi

如何在实验室服务器上跑代码_第4张图片

挂载云盘

# 挂载Google云盘
from google.colab import drive
drive.mount('/content/drive')

切换到项目目录下

# 切换到要运行的项目目录下
import os
os.chdir("/content/drive/MyDrive/lab/pFedHN-main")

显示当前目录文件

# 显示当前目录文件
!ls

运行代码

!python ./experiments/pfedhn/trainer.py

具体使用colab请看下面链接:
使用GOOGLE COLAB运行深度学习项目

5 致谢

浩瀚的知识中相遇是缘分,感谢阅读,希望能对你有所启发,谢谢!

你可能感兴趣的:(机器学习基础,服务器,python,深度学习)