How to make VScode launch.json for a Python module
I'm reseaching self-supervised muchine learning code.
And I have wanted to debug the code with python debugger not pdb.set_trace().
This is python command for ubuntu terminal.
python -m torch.distributed.launch --nproc_per_node=1 main_swav.py \
--data_path /dataset/imagenet/train \
--epochs 400 \
--base_lr 0.6 \
--final_lr 0.0006 \
--warmup_epochs 0 \
--batch_size 8 \
--size_crops 224 96 \
--nmb_crops 2 6 \
--min_scale_crops 0.14 0.05 \
--max_scale_crops 1. 0.14 \
--use_fp16 true \
--freeze_prototypes_niters 5005 \
--queue_length 380 \
--epoch_queue_starts 15\
--workers 10

In order to debug the code with VScode, I tried to revise launch.json like below as referring stackoverflow -question
{
    &quot;version&quot;: &quot;0.2.0&quot;,
    &quot;configurations&quot;: [
        {
            &quot;name&quot;: &quot;Python: Current File&quot;,
            &quot;type&quot;: &quot;python&quot;,
            &quot;module&quot;: &quot;torch.distributed.launch --nproc_per_node=1 main_swav.py&quot;,
            &quot;request&quot;: &quot;launch&quot;,
            &quot;console&quot;: &quot;integratedTerminal&quot;,
            &quot;args&quot;: [&quot;--data_path&quot;, &quot;/dataset/imagenet/train&quot;]
        }
    ]
}

I knew this would not work... TT
Could you give me some advice?
Thank you for your time.

Specify the module you want to run with &quot;module&quot;: &quot;torch.distributed.launch&quot;
You can ignore the -m flag. Put everything else under the args key.
Note: Make sure to include --nproc_per_node and the name of file (main_swav.py) in the list of arguments
{
            &quot;version&quot;: &quot;0.2.0&quot;,
            &quot;configurations&quot;: [
                {
                    &quot;name&quot;: &quot;Python: Current File&quot;,
                    &quot;type&quot;: &quot;python&quot;,
                    &quot;module&quot;: &quot;torch.distributed.launch&quot;,
                    &quot;request&quot;: &quot;launch&quot;,
                    &quot;console&quot;: &quot;integratedTerminal&quot;,
                    &quot;args&quot;: [
                        &quot;--nproc_per_node&quot;, &quot;1&quot;, 
                        &quot;main_swav.py&quot;,
                        &quot;--data_path&quot;, &quot;/dataset/imagenet/train&quot;,
                    ]
                }
            ]
        }

Read more here: https://code.visualstudio.com/docs/python/debugging#_module
