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

1.工具准备

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

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

在这里插入图片描述

挂载云盘

# 挂载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 致谢

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

<think>好的,用户的问题是关于如何在远程服务器上使用screen命令保持代码后台运行。我需要仔细分析他的需求,并给出清晰的步骤。 首先,用户可能对Linux的screen命令不太熟悉,需要解释基本概念和安装方法。根据引用[2],screen可以解决SSH断开后程序终止的问题,所以第一步应该确认服务器是否安装了screen,如果没有的话,指导如何安装。比如Ubuntu用apt,CentOS用yum。 接下来,用户需要知道具体的使用步骤。应该分步骤说明如何创建新会话、运行程序、分离会话、重新连接以及关闭会话。每个步骤需要简明扼要,并提供示例命令。例如,使用screen -S session_name创建,Ctrl+A+D分离,screen -ls查看会话列表等。 还要注意用户可能遇到的常见问题,比如安装失败或者命令记不住。可能需要提醒他们检查权限,或者使用帮助命令。引用[3]提到PyCharm连接服务器和screen的使用,可能用户是在开发环境中操作,所以示例可以结合代码运行场景。 另外,用户可能希望程序在断开后继续运行,所以要强调分离会话的重要性。同时,关闭会话的步骤也要明确,避免留下无用的会话占用资源。 最后,生成的相关问题需要围绕screen的更多用法、替代工具以及后台运行的其他方法,帮助用户扩展知识。比如询问nohup的使用或者tmux与screen的区别。 需要确保所有命令格式正确,使用中文,避免术语错误。同时按照系统指令,数学公式用$...$,但这里可能用不上。检查引用标记是否正确添加,比如引用[2]关于screen的作用,引用[3]关于服务器连接的部分。 总结回答结构:安装、使用步骤(创建、分离、重连、关闭)、注意事项、相关命令,最后附上相关问题。保持步骤清晰,方便用户一步步操作。</think>### 分步说明:使用Screen命令保持远程代码后台运行 #### 1. 安装Screen(如未预装) - 通过SSH登录远程服务器后,输入: ```bash # Ubuntu/Debian系统 sudo apt-get install screen # CentOS/RHEL系统 sudo yum install screen ``` 若提示权限不足,需联系管理员安装[^2] #### 2. 创建新会话 ```bash screen -S your_session_name # 自定义会话名称,如"python_job" ``` 此时会进入全新终端界面,可正常执行命令 #### 3. 运行目标代码 在新建的screen会话中执行程序: ```bash python train.py # 示例运行Python脚本 或 ./long_time_task.sh # 执行耗时脚本 ``` #### 4. 分离会话(后台保持运行) 按下组合键: ``` Ctrl + A → 松开 → 按 D ``` 此时会显示`[detached]`提示,程序继续在后台运行[^2] #### 5. 查看所有会话 ```bash screen -ls ``` 输出示例: ``` There are screens on: 12345.python_job (Detached) ``` #### 6. 重连会话 ```bash screen -r 12345 # 使用进程号 或 screen -r python_job # 使用会话名称 ``` #### 7. 关闭会话 在会话内部正常退出程序后,输入`exit`即可销毁会话。强制关闭使用: ```bash screen -X -S 12345 quit ``` ### 关键特性说明 - **断线恢复**:即使SSH连接断开,程序仍持续运行[^2] - **多任务管理**:可通过不同会话名称管理多个任务 - **日志记录**:建议搭配`nohup`使用输出重定向: ```bash screen -S logging_task nohup ./script.sh > output.log 2>&1 & ``` ### 注意事项 1. 所有操作必须在screen会话内执行 2. 分离会话前确认程序已启动 3. 建议为关键任务添加日志记录 4. 服务器重启后screen会话会失效
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值