在vs code上进行远程深度学习开发环境简易搭建
远程深度学习环境的搭建,可以采用pycharm
,其是一个IDE,可以采用远程解释器连接到远程的服务器进行python代码的运行,debug和同步等,但是pycharm
是一个商业软件,而且其体量较大,打开速度慢,因此更为轻量级的解决方案可以采用vs code
(以下简称vsc)。
环境
- ubuntu 18.04
- vs code
- vs code插件sftp
- vs code插件remote-fs
- git
首先先下载vsc,百度便可找到,其中vs code的插件可以在界面中的extensions
选项中找到,搜索需要的插件并安装重启vsc。
其中安装sftp
的目的是实现远程文件同步,可以在你修改本地代码的同时,自动地将代码同步到远程服务器上,而remote fs
的作用是作为远程文件系统的,可以保管你的接入远程服务器的密钥和地址等。
配置
接下来需要配置sftp
,在你的项目根文件夹下面新建一个文件夹,名为.vscode/
,进入里面,新建一个文件,名为sftp.json
,其中的内容如:
{
"remote": "server_alias_name",
"protocol": "sftp",
"remotePath": "/home/user_name/AI_workspace/research/project_name/",
"passive": false,
"interactiveAuth": false,
"uploadOnSave": true,
"syncMode": "update",
"ignore": [
"**/.git",
"**/dataset",
"**/workdir",
"**/datas/"
]
}
其中需要注意的基本上就这几项,其中remote
是指定你的远程服务器的名字,这里我们结合remote fs
的配置,而没有显式地指定ip,是为了在开源的时候,或者项目移交的时候的保密性和安全性考虑的。
protocol
是文件传输协议
remotePath
是你的项目同步的根目录,如果这个目录不存在,其将会自动新建。
uploadOnSave
每当保存文件的时候,都会自动上传文件到服务器上
ignore
指定不需要同步的文件或者文件夹,支持正则表达式
随后我们需要进行remote fs
的配置,快捷键输入ctrl+shift+p
,输入open user setting
找到扩展
选项栏中的remote-fs configuration
,在弹出的页面中选择在setting.json中编辑
.
我们发现,我们进入了一个配置的json文件,在这个文本文件中输入:
"remotefs.remote": {
"server_alias_name": {
"scheme": "sftp",
"host": "xxx.xxx.xxx.xxx",
"port": xxxx,
"username": "user",
"privateKeyPath": "C:\\Users\\user\\.ssh\\id_rsa"
},
"server_alias_name_#2": {
"scheme": "sftp",
"host": "xxx.xxx.xxx.xxx",
"port": xxxx,
"username": "user",
"privateKeyPath": "C:\\Users\\user\\.ssh\\id_rsa"
},
}
在这里我们要指定的是远程服务器的别名,如server_alias_name
,和主机ip(host
),在username
中指定的是你的远程服务器的账户名,privateKeyPath
中选择你的私钥的地址就可以自动安全的登陆了。如果恰好你有不只一台服务器,那么你可以设置多个这种别名,需要同步到不同服务器的时候,只需要在sftp.json
中修改别名就行了。
为了让ssh的rsa登陆能够正常运行,通常在本地还需要用ssh-copy-id
这个命令进行的,这个读者自行了解吧,也是非常简单的。大家可以参考[1]的进行无密登录的配置。
Reference
[1]. https://blog.csdn.net/liu_qingbo/article/details/78383892