問題の概要
PythonのArgumentParserを用いた複数個の引数を持つようなプログラムを持っています。
この時の引数をWandbのSweepを使って探索する方法が分かりません。
プログラム例
Pythonで以下のようにArgumentParserで複数個の引数を持つようなプログラムを書いています。
python
1# example.py 2import wandb, argparse 3 4parser = argparse.ArgumentParser() 5parser.add_argument('--numbers', nargs=3, type=float) 6 7args = parser.parse_args() 8loss = sum(args.numbers) 9wandb.init().log({"loss": loss})
このプログラムは以下のように実行できます。
bash
1$ python example.py --numbers 1 2 3
しかし、これをWandBのSweepを用いて、numbersのそれぞれの要素を探索する方法が分かりません。
以下のような.yamlは試しました。
yaml
1program: example.py 2method: bayes 3metric: 4 name: loss 5 goal: minimize 6parameters: 7 numbers[0]: 8 min: 1 9 max: 9 10 numbers[1]: 11 min: 1 12 max: 9 13 numbers[2]: 14 min: 1 15 max: 9
しかし、引数の名前がそのまま解釈され、ArgumentParserでパースできませんでした。
つまりこれは、以下のようなコマンドラインとして実行されてしまいます。
bash
1$ python example.py --numbers[0]=1 --numbers[1]=2 --numbers[2]=3
これを解決する何かいい方法が分かりませんか?
回答1件
あなたの回答
tips
プレビュー