本文適用範圍 主要適用於debug python 程式,尤其是深度學習剛入門需要使用remote 連接到linux進行程式運行,想調試一下的同學。 當然非深度學習也可以參考食用本文哈哈哈。 極速入門版 提前準備:代碼倉庫已經拉取到linux上面,且已經知道運行的方式。 比如: 項目的啟動命令為:py ...
本文適用範圍
主要適用於debug python 程式,尤其是深度學習剛入門需要使用remote 連接到linux進行程式運行,想調試一下的同學。
當然非深度學習也可以參考食用本文哈哈哈。
極速入門版
提前準備:代碼倉庫已經拉取到linux上面,且已經知道運行的方式。
比如:
項目的啟動命令為:python pretrain.py --dataset mini_imagenet --data_path /home/yq/math/miniImageNet --model ResNet12
1.打斷點:在你想程式開始debug的地方打上斷點
2.修改launch.json文件,配置啟動的命令:
完成的代碼:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
// python pretrain.py --dataset mini_imagenet --data_path /home/yq/math/miniImageNet --model ResNet12
{ //python train.py configs/path_to_your_config
"name": "vil100-pld-orgin", //name 可以自己取
"type": "python",
"request": "launch",
"program": "/home/yq/math/DeepBDC-main/pretrain.py",
"console": "integratedTerminal",
"cwd": "/home/yq/math/DeepBDC-main", // current work dir
"args": [
"--dataset", "mini_imagenet","--data_path","/home/yq/math/miniImageNet","--model",
"ResNet12",
],
"justMyCode": true
},
]
}
說一下其中關鍵參數吧:
name
:這次debug項目的名字,可以任意取
program
:要啟動的主程式,個人習慣寫絕對路徑,好像相對路徑也是可以的
cwd
:當前工作目錄(current work directory),因為代碼項目中可能會涉及到使用相對路徑,如果不改工作目錄的話就可能會出現問題,一般來說這個就改到main.py
文件所在的目錄,或者按照項目的README.md文件中的目錄寫即可。
args
:附帶的參數,每個參數用,
隔開。
3.啟動:點擊綠色三角即可
4.程式就會在斷點處停下
這時候就可以在DEBUG CONSOLE
輸入需要得到的變數的值,如下:
註意:這時候修改了程式的話需要重新啟動debug才會按照你修改之後的程式運行,不重新啟動的話運行邏輯還是修改之前的
完整版本
完整的debug功能更加強大,甚至可以監聽遠程視窗,但是目前並沒有涉及到使用,具體見官方文檔:
Debugging configurations for Python apps in Visual Studio Code
我的博客園:https://www.cnblogs.com/swx123
我的github(代碼一般都放在這裡):https://github.com/578223592