Skip to main content
Vous pouvez utiliser les Sweeps de W&B avec des commandes CLI personnalisées si la configuration d’entraînement transmet des arguments en ligne de commande. Dans l’exemple ci-dessous, l’extrait de code montre un terminal bash dans lequel un utilisateur lance l’entraînement d’un script Python nommé train.py en fournissant des valeurs que le script interprète :
/usr/bin/env python train.py -b \
    your-training-config \
    --batchsize 8 \
    --lr 0.00001
Pour implémenter des commandes personnalisées, modifiez la clé command dans le fichier YAML. D’après l’exemple précédent, la configuration se présente comme suit :
program:
  train.py
method: grid
parameters:
  batch_size:
    value: 8
  lr:
    value: 0.0001
command:
  - ${env}
  - python
  - ${program}
  - "-b"
  - your-training-config
  - ${args}
La clé ${args} est remplacée par tous les paramètres de la configuration de balayage, mis en forme pour argparse sous la forme --param1 value1 --param2 value2. Pour ajouter des arguments supplémentaires en dehors de argparse, implémentez ce qui suit :
parser = argparse.ArgumentParser()
args, unknown = parser.parse_known_args()
Selon l’environnement, python peut désigner Python 2. Pour garantir l’utilisation de Python 3, utilisez python3 dans la configuration de la commande :
program:
  script.py
command:
  - ${env}
  - python3
  - ${program}
  - ${args}

Sweeps