Skip to main content
トレーニング設定がコマンドライン引数を受け取る場合、カスタム CLI コマンドを使用して W&B Sweeps を利用できます。 以下の例では、ユーザーが train.py という名前の Python スクリプトを実行し、スクリプトがパースする値を渡している bash ターミナルのコードスニペットを示しています。
/usr/bin/env python train.py -b \
    your-training-config \
    --batchsize 8 \
    --lr 0.00001
カスタムコマンドを実装するには、YAML ファイルの command キーを修正します。前述の例に基づくと、設定は以下のようになります。
program:
  train.py
method: grid
parameters:
  batch_size:
    value: 8
  lr:
    value: 0.0001
command:
  - ${env}
  - python
  - ${program}
  - "-b"
  - your-training-config
  - ${args}
${args} キーは、sweep configuration 内のすべてのパラメータに展開され、argparse 用に --param1 value1 --param2 value2 という形式でフォーマットされます。 argparse 以外の追加の引数を扱う場合は、次のように実装してください。
parser = argparse.ArgumentParser()
# 未知の引数を無視してパースする
args, unknown = parser.parse_known_args()
環境によっては、python が Python 2 を指す場合があります。確実に Python 3 を呼び出すには、コマンド設定で python3 を使用してください。
program:
  script.py
command:
  - ${env}
  - python3
  - ${program}
  - ${args}