Entrées, sorties, variables environnementales et fonctions d'assistance - Amazon Braket

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Entrées, sorties, variables environnementales et fonctions d'assistance

Outre le ou les fichiers qui constituent votre script d'algorithme complet, votre tâche hybride peut comporter des entrées et des sorties supplémentaires. Lorsque votre tâche hybride démarre, Amazon Braket copie les entrées fournies dans le cadre de la création de la tâche hybride dans le conteneur qui exécute le script d'algorithme. Lorsque la tâche hybride est terminée, toutes les sorties définies au cours de l'algorithme sont copiées vers l'emplacement Amazon S3 spécifié.

Note

Les métriques de l'algorithme sont rapportées en temps réel et ne suivent pas cette procédure de sortie.

Amazon Braket fournit également plusieurs variables d'environnement et fonctions d'assistance pour simplifier les interactions avec les entrées et sorties des conteneurs.

Cette section explique les concepts clés de la AwsQuantumJob.create fonction fournie par le SDK Amazon Braket Python et leur mappage à la structure du fichier conteneur.

Inputs

Données d'entrée : Les données d'entrée peuvent être fournies à l'algorithme hybride en spécifiant le fichier de données d'entrée, qui est configuré sous forme de dictionnaire, avec l'input_dataargument. L'utilisateur définit l'input_dataargument au sein de la AwsQuantumJob.create fonction dans le SDK. Cela copie les données d'entrée dans le système de fichiers conteneur à l'emplacement indiqué par la variable d'environnement"AMZN_BRAKET_INPUT_DIR". Pour quelques exemples de la façon dont les données d'entrée sont utilisées dans un algorithme hybride, consultez le QAOA avec Amazon Braket Hybrid Jobs PennyLane et l'apprentissage automatique quantique dans les blocs-notes Jupyter d'Amazon Braket Hybrid Jobs.

Note

Lorsque les données d'entrée sont volumineuses (> 1 Go), le temps d'attente est long avant que la tâche hybride ne soit soumise. Cela est dû au fait que les données d'entrée locales seront d'abord téléchargées dans un compartiment S3, puis le chemin S3 sera ajouté à la demande de travail hybride et, enfin, la demande de travail hybride est soumise au service Braket.

Hyperparamètres : si vous les transmettezhyperparameters, ils sont disponibles sous la variable "AMZN_BRAKET_HP_FILE" d'environnement.

Points de contrôle : pour spécifier job-arn le point de contrôle que vous souhaitez utiliser dans une nouvelle tâche hybride, utilisez la copy_checkpoints_from_job commande. Cette commande copie les données du point checkpoint_configs3Uri de contrôle vers la nouvelle tâche hybride, les rendant disponibles sur le chemin indiqué par la variable d'environnement AMZN_BRAKET_CHECKPOINT_DIR pendant l'exécution de la tâche. La valeur par défaut estNone, ce qui signifie que les données de point de contrôle d'une autre tâche hybride ne seront pas utilisées dans la nouvelle tâche hybride.

Outputs

Tâches quantiques : les résultats des tâches quantiques sont stockés dans l'emplacement S3s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks.

Résultats du job : tout ce que votre script d'algorithme enregistre dans le répertoire indiqué par la variable d'environnement "AMZN_BRAKET_JOB_RESULTS_DIR" est copié vers l'emplacement S3 spécifié dansoutput_data_config. Si vous ne spécifiez pas cette valeur, la valeur par défaut est. s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/<timestamp>/data Nous fournissons la fonction d'assistance du SDK save_job_result, que vous pouvez utiliser pour stocker facilement les résultats sous forme de dictionnaire lorsque vous les appelez à partir de votre script d'algorithme.

Points de contrôle : Si vous souhaitez utiliser des points de contrôle, vous pouvez les enregistrer dans le répertoire indiqué par la variable d'environnement. "AMZN_BRAKET_CHECKPOINT_DIR" Vous pouvez également utiliser la fonction d'assistance du SDK à la place. save_job_checkpoint

Métriques d'algorithme : vous pouvez définir des métriques d'algorithme dans le cadre de votre script d'algorithme qui sont envoyées à Amazon CloudWatch et affichées en temps réel dans la console Amazon Braket pendant l'exécution de votre tâche hybride. Pour un exemple d'utilisation des métriques d'algorithmes, consultez Utiliser les tâches hybrides Amazon Braket pour exécuter un algorithme QAOA.

Variables d'environnement

Amazon Braket fournit plusieurs variables d'environnement pour simplifier les interactions avec les entrées et sorties des conteneurs. Le code suivant répertorie les variables environnementales utilisées par Braket.

  • AMZN_BRAKET_INPUT_DIR— Le répertoire des données d'entréeopt/braket/input/data.

  • AMZN_BRAKET_JOB_RESULTS_DIR— Le répertoire de sortie dans lequel opt/braket/model écrire les résultats de la tâche.

  • AMZN_BRAKET_JOB_NAME— Le nom de la tâche.

  • AMZN_BRAKET_CHECKPOINT_DIR— Le répertoire des points de contrôle.

  • AMZN_BRAKET_HP_FILE— Le fichier contenant les hyperparamètres.

  • AMZN_BRAKET_DEVICE_ARN— L'ARN (nom de AWS ressource) de l'appareil.

  • AMZN_BRAKET_OUT_S3_BUCKET— Le compartiment Amazon S3 de sortie, tel que spécifié dans la CreateJob demandeOutputDataConfig.

  • AMZN_BRAKET_SCRIPT_ENTRY_POINT— Le point d'entrée tel que spécifié dans la CreateJob demandeScriptModeConfig.

  • AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE— Le type de compression tel que spécifié dans la CreateJob demandeScriptModeConfig.

  • AMZN_BRAKET_SCRIPT_S3_URI— L'emplacement du script de l'utilisateur sur Amazon S3, tel que spécifié dans la CreateJob demandeScriptModeConfig.

  • AMZN_BRAKET_TASK_RESULTS_S3_URI— L'emplacement Amazon S3 où le SDK stockerait les résultats de la tâche quantique par défaut pour la tâche.

  • AMZN_BRAKET_JOB_RESULTS_S3_PATH— L'emplacement Amazon S3 où les résultats de la tâche seraient stockés, comme indiqué dans les CreateJob demandesOutputDataConfig.

  • AMZN_BRAKET_JOB_TOKEN— Chaîne à transmettre au jobToken paramètre pour CreateQuantumTask les tâches quantiques créées dans le conteneur de tâches.

Fonctions d'assistance

Amazon Braket propose plusieurs fonctions d'assistance pour simplifier les interactions avec les entrées et sorties des conteneurs. Ces fonctions d'assistance seraient appelées depuis le script d'algorithme utilisé pour exécuter votre Hybrid Job. L'exemple suivant montre comment les utiliser.

get_checkpoint_dir() # get the checkpoint directory get_hyperparameters() # get the hyperparameters as strings get_input_data_dir() # get the input data directory get_job_device_arn() # get the device specified by the hybrid job get_job_name() # get the name of the hybrid job. get_results_dir() # get the path to a results directory save_job_result() # save hybrid job results save_job_checkpoint() # save a checkpoint load_job_checkpoint() # load a previously saved checkpoint