Par défaut, les sandboxes utilisent
python:3.11 comme image de base. Pour utiliser une autre image, passez container_image à Sandbox.run() ou à SandboxDefaults. W&B prend en charge uniquement les images de conteneur publiques.L’extrait de code suivant crée un sandbox avec l’image python:3.15 et y exécute python --version.Créer un sandbox
Sandbox.run() pour créer et démarrer un sandbox. Cette méthode renvoie un objet Sandbox que vous pouvez utiliser pour interagir avec l’environnement.
L’exemple suivant crée un sandbox avec l’image de conteneur par défaut (python:3.11) :
Démarrer un sandbox sans commande principale
Sandbox.run() sans commande lorsque vous souhaitez d’abord créer un sandbox, puis y exécuter des tâches par la suite.
Démarrer un sandbox avec une commande principale
Sandbox.run(). Utilisez cette approche lorsque le sandbox doit exécuter une seule tâche du début à la fin. Lorsque le processus principal se termine, le sandbox passe à un état terminal, tel que COMPLETED ou FAILED.
La commande que vous passez à Sandbox.run() démarre en tant que processus principal du sandbox.
Sandbox.run() renvoie un objet Sandbox que vous pouvez utiliser pour surveiller la commande et attendre la fin de son exécution. Par exemple, pour attendre que la commande se termine et récupérer son résultat :
Créer plusieurs sandboxes avec une session
Session pour créer et gérer plusieurs sandboxes. Lorsque la session se ferme (par exemple, à la sortie d’un bloc with), toutes les sandboxes créées par cette session sont automatiquement arrêtées.
Vous pouvez également transmettre un objet SandboxDefaults à une session afin de définir une configuration par défaut réutilisable pour toutes les sandboxes créées par cette session. Par exemple, vous pouvez spécifier une image de conteneur par défaut, une configuration réseau ou une durée de vie maximale pour toutes les sandboxes de la session.
session.sandbox() renvoie un sandbox non démarré. Il démarre automatiquement lorsque vous appelez Sandbox.exec(), Sandbox.read_file() ou toute autre opération.
L’extrait de code suivant crée une session qui crée deux sandboxes en utilisant une configuration par défaut (SandboxDefaults) :