74856


VSCodeのデバッグ(python)で1つのargsに複数の値を入力する方法を教えていただけないでしょうか

例えば、下記のshellscriptのように、lr-stepsに16と22の2つの値を入力したいと考えております。  
(このshellscriptは問題なく実行出来ます)

[code]

    #!/bin/bash
    CUDA_VISIBLE_DEVICES=3 \
    python \
    train.py \
    --lr-steps 16 22 \
    
[/code]

上記のshellscriptの内容でデバッグするために、launch.jsonを下記のように書いてみましたがうまくいきませんでした。

[code]

    {
        // IntelliSense を使用して利用可能な属性を学べます。
        // 既存の属性の説明をホバーして表示します。
        // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Current File",
                "type": "python",
                "python": "/home/hoge/anaconda3/envs/huga/bin/python",
                "request": "launch",
                "program": "train.py",
                "cwd": "/home/hoge/projects/huga",
                "console": "integratedTerminal",
                "justMyCode": false,
                "env": { 
                    "CUDA_VISIBLE_DEVICES":"3"},
                "args": [
                    "--lr-steps=[16,22]",
                ],
            }
        ]
    }
    
    
[/code]

他にも下記のように--lr-stepsの部分を書き換えてみましたが、うまくいきませんでした。  
`"--lr-steps=[16,22]"`  
`"--lr-steps=16,22"`  
`"--lr-steps=16 22"`

実行するpythonのスクリプトは下記の通りです。

[code]

    import argparse
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument('--lr-steps', default=[16, 22], nargs='+', type=int, help='decrease lr every step-size epochs')
    
[/code]

\--lr-stepsに整数のリストを代入するには、どのようにlaunch.jsonで指定すればよいかご教授頂けないでしょうか。  
何卒宜しくお願い致します。


CC BY-SA 4.0
2021-03-24T01:08:24.903
74850
2021-03-24T07:03:59.983
30280
question
python vscode
VSCodeのデバッグ(python)で1つのargsに複数の値を入力する方法


VS Code の `launch.json` で引数 (`args`) を指定する場合  
もともと "args"は list構造になっているので, 複数指定することができます

[code]

                "args": [
                    "--lr-steps", "16", "22"
                ]
    
[/code]

(`ArgumentParser` として引数を文字列で与え 結果を数値で取得する, はずなので  
あとの数字も文字列として指定します)


CC BY-SA 4.0
2021-03-24T06:12:50.967
74856
2021-03-24T07:03:59.983
2021-03-24T07:03:59.983
43025
43025
74850
answer