在vs code上進行遠程深度學習開發環境簡易搭建

遠程深度學習環境的搭建,可以採用pycharm,其是一個IDE,可以採用遠程解釋器連接到遠程的服務器進行python代碼的運行,debug和同步等,但是pycharm是一個商業軟件,而且其體量較大,打開速度慢,因此更爲輕量級的解決方案可以採用vs code(以下簡稱vsc)。

環境

  1. ubuntu 18.04
  2. vs code
  3. vs code插件sftp
  4. vs code插件remote-fs
  5. 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章