生成调试配置文件launch.json

首先点击运行符号和甲壳虫符号-运行,生成python的配置文件

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: ckr",
            "type": "python",
            "request": "launch",
            "program": "train.py",
            "args": ["--experiment_name","check-train-1","--feedback_method","sample2step","--instruction_from","reverie","--batch_size=100","--en_nhead","6","--en_nlayer","2","--use_glove","--num_multihead","8","--num_layer","4","--max_degree","15","--object_top_n","5","--short_cut","--num_gcn","3","--use_angle_distance_reward","--soft_room_label","--loss_weight","5","1","0","1"],
            "env": {"CUDA_VISIBLE_DEVICES": "0"},
            "console": "integratedTerminal"
        }
    ]
}

其中name是随意取的,program是要运行的文件,args是运行的参数,env是运行的环境变量。

对args进行处理

args要是字符串数组,字符串要用引号包括,用逗号分割,这就需要我们对命令行参数进行处理。

python train.py
--experiment_name check-train-1
--feedback_method sample2step --instruction_from reverie --batch_size=100
--en_nhead 6 --en_nlayer 2 --use_glove
--num_multihead 8 --num_layer 4
--max_degree 15 --object_top_n 5 --short_cut --num_gcn 3
--use_angle_distance_reward --soft_room_label
--loss_weight 5 1 0 1'
  1. vscode按住 shift+alt+鼠标左键,进行连续多行编辑,将所有行数转为一行,并转换为空格隔开。
  2. vscode中按 alt+z,开启自动换行,使得所有内容可见
  3. vscode里圈中空格,然后按control+d,选择所有空格,进行多位置编辑,改成","
  4. 在首尾添加",大功告成

调试运行时

  1. 可以设置断点并查看所有断点问题
  2. 可以随时中断并查看调用堆栈
  3. 可以step in step out step over continue四按钮,在python里step in不会进入标准库中,如果不小心进入函数,可以step out跳出,如果不想进入函数,可以使用step over。