

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Schlüsselkonzepte für hybride Jobs
<a name="braket-jobs-concepts"></a>

In diesem Abschnitt werden die wichtigsten Konzepte der vom Amazon Braket Python SDK bereitgestellten `AwsQuantumJob.create` Funktion und die Zuordnung zur Container-Dateistruktur erklärt.

Zusätzlich zu der Datei oder den Dateien, aus denen Ihr komplettes Algorithmus-Skript besteht, kann Ihr Hybrid-Job zusätzliche Eingaben und Ausgaben haben. Wenn Ihr Hybrid-Job gestartet wird, kopiert Amazon Braket die Eingaben, die im Rahmen der Hybrid-Job-Erstellung bereitgestellt wurden, in den Container, in dem das Algorithmus-Skript ausgeführt wird. Wenn der Hybrid-Job abgeschlossen ist, werden alle während des Algorithmus definierten Ausgaben an den angegebenen Amazon S3 S3-Speicherort kopiert.

**Anmerkung**  
 *Algorithmus-Metriken* werden in Echtzeit gemeldet und folgen nicht diesem Ausgabeverfahren.

Amazon Braket bietet auch mehrere Umgebungsvariablen und Hilfsfunktionen, um die Interaktionen mit Container-Eingaben und -Ausgaben zu vereinfachen. Weitere Informationen finden Sie im [Paket braket.jobs](https://amazon-braket-sdk-python.readthedocs.io/en/latest/_apidoc/braket.jobs.html) im *Amazon* Braket SDK. 

**Topics**
+ [Eingaben](#braket-jobs-inputs)
+ [Outputs](#braket-jobs-outputs)
+ [Umgebungsvariablen](#braket-jobs-environmental-variables)
+ [Hilfsfunktionen](#braket-jobs-helper-functions)

## Eingaben
<a name="braket-jobs-inputs"></a>

 **Eingabedaten**: Eingabedaten können dem Hybrid-Algorithmus zur Verfügung gestellt werden, indem die Eingabedatendatei, die als Wörterbuch eingerichtet ist, mit dem `input_data` Argument angegeben wird. Der Benutzer definiert das `input_data` Argument innerhalb der `AwsQuantumJob.create` Funktion im SDK. Dadurch werden die Eingabedaten in das Container-Dateisystem an dem in der Umgebungsvariablen angegebenen Speicherort kopiert`"AMZN_BRAKET_INPUT_DIR"`. Einige Beispiele dafür, wie Eingabedaten in einem hybriden Algorithmus verwendet werden, finden Sie unter [QAOA mit Amazon Braket Hybrid Jobs PennyLane und](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/hybrid_jobs/2_Using_PennyLane_with_Braket_Hybrid_Jobs/Using_PennyLane_with_Braket_Hybrid_Jobs.ipynb) [Quantum Machine Learning in Amazon Braket Hybrid](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/hybrid_jobs/1_Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs/Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs.ipynb) Jobs Jupyter-Notebooks.

**Anmerkung**  
Wenn die Eingabedaten groß sind (> 1 GB), dauert es eine lange Wartezeit, bis der Hybrid-Job eingereicht wird. Dies liegt an der Tatsache, dass die lokalen Eingabedaten zuerst in einen S3-Bucket hochgeladen werden, dann der S3-Pfad zur Hybrid-Job-Anfrage hinzugefügt wird und schließlich die Hybrid-Job-Anfrage an den Braket-Service übermittelt wird.

 **Hyperparameter**: Wenn Sie sie weitergeben`hyperparameters`, sind sie unter der Umgebungsvariablen verfügbar. `"AMZN_BRAKET_HP_FILE"`

**Anmerkung**  
[Weitere Informationen darüber, wie Sie Hyperparameter und Eingabedaten erstellen und diese Informationen dann an das Hybrid-Job-Skript übergeben, finden Sie im Abschnitt [Hyperparameter verwenden](braket-jobs-hyperparameters.md) und auf dieser Github-Seite.](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/hybrid_jobs/1_Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs/qcbm/qcbm.py)

 **Checkpoints**: Um einen Checkpoint anzugeben`job-arn`, dessen Checkpoint Sie in einem neuen Hybrid-Job verwenden möchten, verwenden Sie den Befehl. `copy_checkpoints_from_job` Mit diesem Befehl werden die Checkpoint-Daten in den `checkpoint_configs3Uri` des neuen Hybrid-Jobs kopiert, sodass sie `AMZN_BRAKET_CHECKPOINT_DIR` während der Ausführung des Jobs unter dem in der Umgebungsvariablen angegebenen Pfad verfügbar sind. Die Standardeinstellung ist`None`, was bedeutet, dass Checkpoint-Daten aus einem anderen Hybrid-Job im neuen Hybrid-Job nicht verwendet werden.

## Outputs
<a name="braket-jobs-outputs"></a>

 **Quantenaufgaben**: Die Ergebnisse der Quantenaufgaben werden am S3-Standort `s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks` gespeichert.

 **Arbeitsergebnisse**: Alles, was Ihr Algorithmus-Skript in dem von der Umgebungsvariablen angegebenen Verzeichnis speichert, `"AMZN_BRAKET_JOB_RESULTS_DIR"` wird an den unter angegebenen S3-Speicherort kopiert`output_data_config`. Wenn der Wert nicht angegeben ist, ist er standardmäßig. `s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/<timestamp>/data` Wir bieten die SDK-Hilfsfunktion **`save_job_result`**, mit der Sie Ergebnisse bequem in Form eines Wörterbuchs speichern können, wenn Sie sie von Ihrem Algorithmus-Skript aus aufrufen.

 **Checkpoints**: Wenn Sie Checkpoints verwenden möchten, können Sie diese in dem durch die Umgebungsvariable angegebenen Verzeichnis speichern. `"AMZN_BRAKET_CHECKPOINT_DIR"` Sie können stattdessen auch die SDK-Hilfsfunktion `save_job_checkpoint` verwenden.

 **Algorithmus-Metriken**: Sie können Algorithmus-Metriken als Teil Ihres Algorithmus-Skripts definieren, die an Amazon gesendet CloudWatch und in Echtzeit in der Amazon Braket-Konsole angezeigt werden, während Ihr Hybrid-Job ausgeführt wird. Ein Beispiel für die Verwendung von Algorithmus-Metriken finden Sie unter [Verwenden von Amazon Braket-Hybrid-Jobs zur Ausführung eines QAOA-Algorithmus](braket-jobs-run-qaoa-algorithm.md).

Weitere Informationen zum Speichern Ihrer Job-Ausgaben finden Sie unter [Speichern Ihrer Ergebnisse](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-first.html#braket-jobs-save-results) in der Dokumentation zu Hybrid-Jobs. 

## Umgebungsvariablen
<a name="braket-jobs-environmental-variables"></a>

Amazon Braket bietet mehrere Umgebungsvariablen, um die Interaktionen mit Container-Eingaben und -Ausgaben zu vereinfachen. Der folgende Code listet die Umgebungsvariablen auf, die Braket verwendet.
+ `AMZN_BRAKET_INPUT_DIR`— Das Eingabedatenverzeichnis. opt/braket/input/data
+ `AMZN_BRAKET_JOB_RESULTS_DIR`— Das Ausgabeverzeichnisopt/braket/model, in das die Job-Ergebnisse geschrieben werden sollen.
+ `AMZN_BRAKET_JOB_NAME`— Der Name des Jobs.
+ `AMZN_BRAKET_CHECKPOINT_DIR`— Das Checkpoint-Verzeichnis.
+ `AMZN_BRAKET_HP_FILE`— Die Datei, die die Hyperparameter enthält.
+ `AMZN_BRAKET_DEVICE_ARN`— Der Geräte-ARN (AWS Ressourcenname).
+ `AMZN_BRAKET_OUT_S3_BUCKET`— Der Amazon S3 S3-Ausgabe-Bucket, wie in der `CreateJob` Anfrage angegeben`OutputDataConfig`.
+ `AMZN_BRAKET_SCRIPT_ENTRY_POINT`— Der Einstiegspunkt, wie in der `CreateJob` Anfrage angegeben`ScriptModeConfig`.
+ `AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE`— Der in der `CreateJob` Anfrage angegebene Komprimierungstyp`ScriptModeConfig`.
+ `AMZN_BRAKET_SCRIPT_S3_URI`— Der Amazon S3 S3-Speicherort des Benutzerskripts, wie in der `CreateJob` Anfrage angegeben`ScriptModeConfig`.
+ `AMZN_BRAKET_TASK_RESULTS_S3_URI`— Der Amazon S3 S3-Speicherort, an dem das SDK standardmäßig die Ergebnisse der Quantenaufgabe für den Job speichern würde.
+ `AMZN_BRAKET_JOB_RESULTS_S3_PATH`— Der Amazon S3 S3-Standort, an dem die Auftragsergebnisse gespeichert würden, wie in den `CreateJob` Anfragen angegeben`OutputDataConfig`.
+ `AMZN_BRAKET_JOB_TOKEN`— Die Zeichenfolge, die an `CreateQuantumTask` den `jobToken` Parameter für Quantenaufgaben übergeben werden soll, die im Jobcontainer erstellt wurden.

## Hilfsfunktionen
<a name="braket-jobs-helper-functions"></a>

Amazon Braket bietet mehrere Hilfsfunktionen, um die Interaktionen mit Container-Eingaben und -Ausgaben zu vereinfachen. Diese Hilfsfunktionen würden innerhalb des Algorithmus-Skripts aufgerufen, das zur Ausführung Ihres Hybrid-Jobs verwendet wird. Das folgende Beispiel zeigt, wie sie verwendet werden.

```
from braket.jobs import get_checkpoint_dir, get_hyperparameters, get_input_data_dir, get_job_device_arn, get_job_name, get_results_dir, save_job_result, save_job_checkpoint, load_job_checkpoint

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(result_data='data') # Save hybrid job results
save_job_checkpoint(checkpoint_data={'key': 'value'}) # Save a checkpoint
load_job_checkpoint() # Load a previously saved checkpoint
```