一、准备环节
1.pycharm专业版
构建与远程服务器的连接功能,必须使用pycharm专业版,普通版没有此功能
如图,可在“帮助”--“关于”中查看版本情况
如为学生或老师,可直接申请免费授权(支持官方正版)学生和教师授权申请方式 – 许可和购买常见问题解答 (jetbrains.com)
2.Github项目
这里我选择了一个较为经典的深度学习项目:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
“Code”-“Download ZIP”,将开源代码下载至电脑
再将整个文件夹拖到pycharm中打开:
此时代码已就绪,接着进行下一步云服务器的配置
3.云服务器
以主流的AutoDL为例
进入官网,“算力市场”,可根据自己需求选择租赁的服务器。
选择镜像时,选择Pytorch,版本无特殊要求。Python版本3.8就足够了。
如图,已经租赁好的服务器在“容器实例”中可进行管理
二、Pycharm与服务器建立连接
1.ssh
“菜单栏”-“工具”-“部署”-“配置”
点击加号,新建部署,选择SFTP
命名无要求,这里任意命名为“ssh”
点右边的三个点
新建SSH配置,主机、端口号和密码在官网上可以查看
复制登录指令。(主机就是@后面的那一堆字母,端口号即为前面的p后面的数字,如-p16387,端口号就是16387)
输入后点“测试连接”,连接成功,此时pycharm就与服务器建立ssh连接了
接着设置映射,将本地项目映射到服务器准确路径
代码可设置自动上传,也可手动上传(由于博主已经在云服务器更新代码了,所以手动上传那里是灰色的,如果有代码或文件夹变动,手动上传的地方就是可操作的)如下图
同步项目之后,就可以远程查看服务器中的项目文件了。
“工具”-“部署”-“浏览远程主机”,在编辑器右侧就会显示远程主机的文件夹。
还记得刚才设置的映射吗?根据映射路径找到本地项目文件映射到远程主机中的位置,打开,如果和本地的文件一样,说明文件已经成功同步啦!
2.解释器
如下图,进入解释器设置,添加ssh解释器,可使用现有的,也可新建。
创建成功后,在终端中创建ssh会话,选择刚刚创建的解释器
可以看到,成功进入远程终端,其实这里与在官网jupyter终端达到的效果是一样的,不过官网jupyter终端有时会出现卡顿现象,并且pycharm的界面比较好看(这也是它的优势之一)
三、服务器环境部署
在本示例GitHub项目的readme中可知,对于conda用户,使用红框圈出来的那个指令创建环境。
先用cd+项目在云服务器中的路径,切换至项目路径下,再创建环境。
cd 项目路径(在右侧的remote文件目录中可直接复制)
conda env create -f environment.yml
从右侧的远程主机的文件夹中可复制项目的绝对路径。
创建环境需要一些时间,不过服务器相比本地的速度还是快了不少。(此处省略30mins)
创建成功之后,可用下面的指令查看目前存在的环境:
conda info --envs
可以看到,除了原本的base环境,多了一个pytorch-CycleGAN-and-pix2pix环境,此时环境就创建成功了。
四、训练与可视化
1.下载数据集
再回到readme文件中,进行数据集的准备。只需要复制粘贴这段指令就行了,当然也可以手动下载。
如下图,输入指令后就开始下载了(博主此时图书馆的网速很慢......此处省略2h)
2.visdom可视化(与云服务器连接)
下载成功后,再进行visdom可视化的操作。
但如果我们直接利用readme中的指令运行,并用浏览器打开网址,发现并不能成功跳转。这是因为我们在本地浏览器打开时默认本地端口,我们需要把本地的端口地址映射至服务器端口。
ssh -L 18097:127.0.0.1:8097 云服务器的地址
(云服务器地址格式为:root@regio******cloud.com -p 16***)
接着激活环境(新版本的已经不用在activate前面加conda了),activate后面跟的是刚才我们创建的环境名称
activate pytorch-CycleGAN-and-pix2pix
接着开启visdom插件服务
python -m visdom.server
此时,如果看到终端跳出了:It‘s Alive 那么就成功了
但此时直接点击链接仍无法跳转,是因为我们刚才映射的是18097,在8097前面加一个1就可以了。
3.开始训练(大功告成)
接着回到readme文件,按照指令,复制到终端,运行,即可开始训练,默认轮次200轮
可在visdom上直观查看实时的模型训练损失函数曲线
版权归原作者 爱喝胡辣汤的虾滑 所有, 如有侵权,请联系我们删除。