PyCharm之服务器篇|连接服务器|同步代码|安装虚拟环境|训练模型
读了别人的文章,感觉有些步骤有省略,本文将详细讲解本地与远程服务器的连接、远程服务器的虚拟环境配置、代码同步以及训练模型。
首先必须要确保使用的PyCharm版本为专业版,可通过help->about查看,若显示为Professional Edition即为专业版,可以开始接下来的操作
一、连接到远程服务器
首先点击Tools->Deployment->Configuration

(此图片引自https://i-blog.csdnimg.cn/blog_migrate/fac49e9753f2ab5a3c262724b13ace42.png)
然后会出现三步的操作,先通过下拉框选择SFTP传输协议,然后通过SSH输入实验室为你申请创建的账户,ip:port可能都是特定的(我的就是)然后输入ip,port,user name和密码即可,最后点击测试连接弹出Successfully connected提示框,即连接成功。

(此图片引用https://i-blog.csdnimg.cn/blog_migrate/4dc3a049d14dadd874d0a572b72d6872.png)
二、配置本地与云服务器代码同步
接着上一步,点击Mappings中进行本地项目位置与服务器项目位置映射,一般地,师兄为你创建的账户文件夹在home/用户名,然后可以在该目录下再创建新的文件夹用于存放项目。

(图片引自https://i-blog.csdnimg.cn/blog_migrate/5ada3773c2ea98000fdf257681baa67f.png)
然后通过点击Tools->Deployment->Options配置代码自动上传

(图片引自https://i-blog.csdnimg.cn/blog_migrate/eba75696543b972e5fc6289fe9648940.png)
最后再通过点击Tools->Deployment->Browse Remote Host即可查看项目是否上传到云服务器,即同步项目

若打开后项目文件夹有这种浅绿色即为成功(初次可能未成功,则选择upload代码,然后点击刷新按钮)

resource_scheduling是我新创建的一个服务器,然后右边框中包含刷新按钮。接下来还不能运行代码,因为缺少我们特有的虚拟环境,也就是说我们需要下载Anaconda用于创建虚拟环境。

三、配置云服务器虚拟环境
我这里先使用XShell登录账户操作,正常创建连接,然后输入服务器ip,端口,用户名密码等与第一步类似,即可操作文件夹。

创建虚拟环境使用Anaconda和Miniconda都行,我这里使用Anaconda。在用户名目录下使用命令mkdir Anaconda创建文件夹Anaconda,通过Linux的ls指令即可查看当前用户目录下有两个文件夹(之前同步本地与服务器项目目录创建的project文件夹)。

然后这里我是用wgt + 链接的方式下载Anaconda安装包不成功超时(timed out),因此,我才用另外一种方式,使用电脑在清华镜像下载Anaconda安装包,然后使用xftp软件将其放进目录中,然后并安装的方式。
如图所示,将本地下载好的Anaconda的Linux版本拖拽到服务器目录中,然后等待上传完之后通过指令安装

如下图所示,文件传输成功

下面开始安装Anaconda,使用命令 bash Anaconda3-2024.02-1-Linux-x86_64.sh开始安装,并会给出进度条。
然后执行下面两条指令,即可进入到base环境中,可以创建属于自己的虚拟环境。
cd /home/用户名/Anaconda/bin
source activate
然后还有问题,需要保证在Windows环境中的库版本一致,那么执行指令到处环境,再次使用ftp将该文件传输到服务器目录中。
conda env export > D:Program FilesExport_envenvironment.yml
pip freeze > "D:Program FilesExport_envenvironment.txt"
四、云服务器运行代码测试
配置服务器的解释器环境,点击FIles->Settings->add 解释器->SSH,紧接着输入账号密码,iP以及端口即可,然后关键在于本地项目路径要和服务器项目路径相对应,然后还要选择Linux环境中云服务器Anaconda中的环境解释器,路径一般为home/anaconda/envs/环境名,选择Python3。

全部操作完之后就可以看到各种包的版本,那么说明创建成功了。

最后要使用下面代码测试服务器运行
import tensorflow as tf
# 1. 检查 GPU 是否被使用
print("当前使用的设备:", tf.test.gpu_device_name()) # 输出 '/device:GPU:0' 表示正在使用 GPU
# 2. 查看模型训练时的设备分配(需在模型训练时打印)
tf.debugging.set_log_device_placement(True) # 开启设备分配日志
# 示例模型训练(会打印每个操作分配到的设备)
model = tf.keras.Sequential([tf.keras.layers.Dense(1, input_shape=(1,))])
model.compile(optimizer='adam', loss='mse')
model.fit(tf.constant([[1.]]), tf.constant([[1.]]), epochs=1)

欢迎大家一起讨论!注意,本文使用的是到处原有Windows版本环境版本信息,然后删除WIndows特有信息,再到Linux中按照其文件相应的创建环境并安装包,博客[6]使用一个一个下载的方式也能安装完环境所需要的包。
参考
[1] Pycharm远程连接服务器并运行代码(详细!)_pycharm将代码同步到远程服务器-CSDN博客
[2] Pycharm连接远程服务器的conda环境解释器_pycharm添加conda解释器-CSDN博客
[3] 如何使用Pycharm连接服务器中的anaconda环境_pycharm使用远程的conda环境-CSDN博客
[4] IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。-阿里云开发者社区
[5] 一文教会你在服务器指定路径下安装和配置Anaconda|编程问题·24-11-06_在服务器上安装anaconda-CSDN博客
[6] 【有啥问啥】超详细的 Linux 环境下 Anaconda 安装与使用教程_linux anaconda安装教程-CSDN博客









