AutoDL服务器、Pycharm、Xshell 7

AutoDL服务器、Pycharm、Xshell 7

这篇文章主要和大家一起学习如何在AutoDL平台租服务器以及使用它的流程。
需要的工具:
Pycharm(专业版): 用于开发(注意一定要专业版)
Xshell: 用于操作服务器
AutoDL官网

1. 租服务器

在这里插入图片描述
在算力广场选择你需要的卡,然后选择环境,我这里选择的是pytorch1.1.0。
(学生党可以先申请学生认证),我已经租了一块2081Ti,进入到控制台,如图所示。红色区域是我们主要使用到的信息。
在这里插入图片描述

2. 给服务器起别名,配置免密登录(可选)

对于一个新服务器,ssh连接方式为:

ssh -p port user@hostname

其中:
port是端口号
user是你用户名
hostname是你要登录服务器的IP地址或者域名
如果每次都输入user@hostname有点太麻烦了,所以可以给服务器起一个别名,如server1,这样可以使用如下命令登录服务器:

ssh server1

此外,每次登录服务器我们还要输入密码,这也有点麻烦,我们可以配置免密登录,可以理解为让服务器记住密码。

2.1 为服务器起别名

创建文件 ~/.ssh/config

vim ~/.ssh/config

在config文件中配置服务器别名,如图所示,HostName你租的服务器的地址, User是用户,AutoDL默认给的是root用户, Host后是你想起的别名,我这里起的是autodl
在这里插入图片描述
配置好以后,输入

ssh -p 24640 autodl

就可以登录服务器了,注意端口号要使用你自己的。但是还是需要输入密码,接下来配置免密登录。

2.2 配置免密登录

1 .创建密钥

ssh-keygen

回车回车回车…,执行结束后,~/.ssh/目录下会多两个文件:
id_rsa:私钥
id_rsa.pub:公钥
之后想免密码登录哪个服务器,就将公钥传给哪个服务器。
2. 复制公钥

cat ~/.ssh/id_rsa.pub

在这里插入图片描述
如图所示,复制公钥(ctrl+insert复制)。
3. 将该公钥复制到我们租的服务器的~/.ssh/authorized_keys文件中。
首先使用密码登录到服务器里,然后执行

vim ~/.ssh/authorized_keys

然后将你的公钥复制进去(shift+insert键)。
保存退出,然后退出服务器,这时我们只需要在本地输入

ssh -p 24640 autodl 

就能连接到我们租的服务器中了。

3. 配置Xshell 7连接服务器

打开Xshell 7,在会话管理器处右键新建一个新会话,将我们租的服务器参数填入。
在这里插入图片描述
如图所示,名称是你准备给这个会话起的名称,主机填入你租的服务器的地址,填入端口号。
然后一路确定即可,中间需要你输入一次密码。会话新建完成后,双击就可以自动连接入服务器。
ps: Xshell在windows还是比较方便的,但ubuntu里没有Xshell。

4. 配置Pycharm的项目解释器为服务器的解释器

这是我们的最终目的,对吧,在本地开发,使用服务器执行程序。
首先Pycharm只有专业版支持SSH连接,所以,一定要下载专业版本的Pycharm。
本次我们以一个项目为例来讲解。
地址:https://pan.baidu.com/s/1c9UDWQWkebuZzen8Z6OF1Q(3n58)
这里面只有一个文件,实现了一个简单的GAN,可以生成MNIST数据集。
1 .配置该项目的解释器为服务器端
文件→设置→项目→Project Interpreter→add
在这里插入图片描述
选择SSH Interpreter,在右边的窗口中配置你的服务器名,端口名和用户名,然后next,
在这里插入图片描述
如果你没有配置步骤2免密登录的话,可能会提示让你输入一次密码,我这里配置了免密登录,所以直接跳到了这里:
在这里插入图片描述

选择你要使用服务器的哪个python解释器,可以和我的一样。Sync folders是配置你的本地项目文件夹对应到服务器的哪个文件夹,我直接使用的默认。红色区域是选择是否将本地项目的文件自动上传到服务器端,也就是你每次改了本地的代码,Pycharm就会自动将这些修改添加到服务器端。我的建议是先不选择,这个是后续可以再设置的,你如果要选择,建议先检查一下项目里有没有放数据集,因为有大型数据集的话,Pycharm也会上传到服务器端,这非常浪费时间。建议将数据集和项目文件代码分离,数据集用scp代码上传。

点击确定后,等待pycharm连接服务器,连接成功后,去服务器的tmp/文件夹,看是否将项目映射到了tmp/pycharm_project_303处。
使用Xshell 7连接服务器

cd /tmp/
ls

在这里插入图片描述
如图所示,我这里已经有了pycharm_project_303项目,接下来我们运行该项目,看是否pycharm会使用服务器端的python解释器

运行方式1:直接点击run

在这里插入图片描述
可以看到,pycharm使用了服务器端的python,配置成功。
在这里插入图片描述

运行方式2:使用python main.py的方式运行

我们更多的时候不会直接点击run按钮,因为我们要配置许多输入参数。一般是使用python main.py方式运行。
我们可以使用X shell7或者pycharm的terminal端ssh登录服务器。我上文已经说明了X shell7如何连接,这里我再以pycharm说明一下。
我们在pycharm下方的terminal处,输入:

ssh -p 24640 autodl

登录服务器
在这里插入图片描述
然后切到/tmp/pycharm_project_303处

cd /tmp/pycharm_peoject_303

最后使用命令python main.py执行项目

python main.py

如图所示
在这里插入图片描述

5. 配置本地项目文件与服务器端同步

通过前面的配置,我们已经实现了在本地端写代码,然后在服务器端执行代码。现在我们需要学习一下如何同步本地端与服务器端的代码,确保在本地端修改代码后,服务器端也能得到修改。
首先,我们在本地端新建一个test.py文件,然后里面输入两行python程序

import torch

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

print(device)

在这里插入图片描述
然后我们点击运行test.py文件,会发现,服务器端会报错,提示没有这个文件。我们需要手动上传这个文件,待会儿会讲解如何配置pycharm自动上传文件。

同步方式1:手动上传文件

右键项目名→Deployment→Upload to→选择我们的服务器即可
在这里插入图片描述
如果只想上传某个文件,就右键某个文件。这时我们再执行test.py文件,可以发现已经执行成功。
在这里插入图片描述

同步方式2:配置pycharm自动上传文件

这个方式能免于每次修改文件后的手动上传文件方式,但是我建议这样做的话一定要把数据和项目分离,即

├── your project
├── your data
│   ├── data1
│   │   ├── Annotations
│   │   └── JPEGImages
│   └── data2
│   │   ├── Annotations
│   │   └── JPEGImages

确保你的项目里只有代码文件和少量的图像文件,而不是几十个G的数据,对于大型数据,不建议使用pycharm自动上传,而应该先把数据压缩,再使用scp命令上传。
配置pycharm自动上传文件方式:
文件→设置→(构建、执行、部署)deployment→Deplotment→Options→将upload changed files automatically to the default server 设置为Always
在这里插入图片描述

### 配置 AutoDL 平台与 PyCharm 的连接 为了实现 AutoDL 平台与 PyCharm 的连接并进行开发调试,以下是详细的说明: #### 1. **确认本地和云端的 PyCharm 版本** 虽然本地电脑上的 PyCharmAutoDL 云端的 PyCharm 客户端版本不需要完全一致,但仍需确保两者兼容。例如,在此场景下,本地使用的 PyCharm 是 `2024.1.3`,而 AutoDL 云端使用的是 `PyCharm Client 2024.1.6`[^1]。 --- #### 2. **SSH 连接配置** 要通过 SSH 将本地 PyCharm 连接到 AutoDL 服务器,需要完成以下操作: - 打开 PyCharm 后进入设置界面 (`File -> Settings`)。 - 导航到 `Build, Execution, Deployment -> Configuration on Demand` 或类似的选项。 - 添加一个新的 SSH 配置项,输入 AutoDL 提供的主机名或 IP 地址以及相应的用户名和密码/密钥文件[^2]。 --- #### 3. **配置远程 Python 解释器** 在成功建立 SSH 连接之后,需要指定远程项目的 Python 解释器路径: - 如果您未创建特定的虚拟环境,则默认解释器路径应为 `/root/miniconda3/bin/python`。 - 若已创建名为 `{env_name}` 的虚拟环境,则其解释器路径将是 `/root/miniconda3/envs/{env_name}/bin/python`。 --- #### 4. **验证连接稳定性** 需要注意的一点是,AutoDL 不支持无 GPU 卡启动的方式运行程序,因为这种方式可能导致性能下降及连接不稳定的情况发生。因此建议始终启用 GPU 支持来保障最佳体验。 --- #### 5. **测试项目同步与调试功能** 当上述步骤完成后,可以通过如下方式进一步检验整个流程是否正常工作: - 创建一个简单的脚本用于初步测试; - 利用断点等方式尝试执行代码片段以观察实际效果。 ```python def test_function(): print("Test connection successful!") test_function() ``` 以上即为完整的配置过程概述。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值