

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konsep kunci untuk Pekerjaan Hybrid
<a name="braket-jobs-concepts"></a>

Bagian ini menjelaskan konsep kunci dari `AwsQuantumJob.create` fungsi yang disediakan oleh Amazon Braket Python SDK dan pemetaan ke struktur file container.

Selain file atau file yang membentuk skrip algoritme lengkap Anda, pekerjaan hybrid Anda dapat memiliki input dan output tambahan. Saat pekerjaan hybrid Anda dimulai, Amazon Braket menyalin input yang disediakan sebagai bagian dari pembuatan pekerjaan hybrid ke dalam wadah yang menjalankan skrip algoritme. Saat pekerjaan hybrid selesai, semua output yang ditentukan selama algoritme akan disalin ke lokasi Amazon S3 yang ditentukan.

**catatan**  
 *Metrik algoritma* dilaporkan secara real time dan tidak mengikuti prosedur keluaran ini.

Amazon Braket juga menyediakan beberapa variabel lingkungan dan fungsi pembantu untuk menyederhanakan interaksi dengan input dan output kontainer. *Untuk informasi selengkapnya, lihat [paket braket.jobs](https://amazon-braket-sdk-python.readthedocs.io/en/latest/_apidoc/braket.jobs.html) di Amazon Braket SDK.* 

**Topics**
+ [Masukan](#braket-jobs-inputs)
+ [Output](#braket-jobs-outputs)
+ [Variabel lingkungan](#braket-jobs-environmental-variables)
+ [Fungsi pembantu](#braket-jobs-helper-functions)

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

 **Data input**: Data input dapat diberikan ke algoritma hybrid dengan menentukan file data input, yang diatur sebagai kamus, dengan `input_data` argumen. Pengguna mendefinisikan `input_data` argumen dalam `AwsQuantumJob.create` fungsi di SDK. Ini menyalin data input ke sistem file kontainer di lokasi yang diberikan oleh variabel lingkungan`"AMZN_BRAKET_INPUT_DIR"`. Untuk beberapa contoh bagaimana data input digunakan dalam algoritma hybrid, lihat [QAOA dengan Amazon Braket Hybrid Jobs PennyLane dan [dan Quantum machine learning di notebook Amazon Braket Hybrid Jobs Jupyter](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)](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).

**catatan**  
Ketika data input besar (> 1GB), akan ada waktu tunggu yang lama sebelum pekerjaan hybrid diajukan. Hal ini disebabkan oleh fakta bahwa data input lokal pertama-tama akan diunggah ke bucket S3, kemudian jalur S3 akan ditambahkan ke permintaan pekerjaan hybrid, dan, akhirnya, permintaan pekerjaan hybrid diajukan ke layanan Braket.

 **Hyperparameters**: Jika Anda masuk`hyperparameters`, mereka tersedia di bawah variabel `"AMZN_BRAKET_HP_FILE"` lingkungan.

**catatan**  
[Untuk informasi selengkapnya tentang cara membuat hyperparameters dan data input dan kemudian meneruskan informasi ini ke skrip pekerjaan hybrid, lihat bagian [Use hyperparameters](braket-jobs-hyperparameters.md) dan halaman github ini.](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**: Untuk menentukan pos pemeriksaan `job-arn` yang ingin Anda gunakan dalam pekerjaan hybrid baru, gunakan perintah. `copy_checkpoints_from_job` Perintah ini menyalin data pos pemeriksaan ke `checkpoint_configs3Uri` pekerjaan hybrid baru, membuatnya tersedia di jalur yang diberikan oleh variabel lingkungan `AMZN_BRAKET_CHECKPOINT_DIR` saat pekerjaan berjalan. Defaultnya adalah`None`, artinya data pos pemeriksaan dari pekerjaan hybrid lain tidak akan digunakan dalam pekerjaan hybrid baru.

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

 **Quantum Tasks**: Hasil tugas kuantum disimpan di lokasi `s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks` S3.

 **Hasil Job**: Segala sesuatu yang disimpan skrip algoritme Anda ke direktori yang diberikan oleh variabel lingkungan `"AMZN_BRAKET_JOB_RESULTS_DIR"` disalin ke lokasi S3 yang ditentukan. `output_data_config` Jika nilai tidak ditentukan, defaultnya. `s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/<timestamp>/data` Kami menyediakan fungsi pembantu SDK **`save_job_result`**, yang dapat Anda gunakan untuk menyimpan hasil dengan nyaman dalam bentuk kamus saat dipanggil dari skrip algoritme Anda.

 **Checkpoints**: Jika Anda ingin menggunakan pos pemeriksaan, Anda dapat menyimpannya di direktori yang diberikan oleh variabel lingkungan. `"AMZN_BRAKET_CHECKPOINT_DIR"` Anda juga dapat menggunakan fungsi `save_job_checkpoint` pembantu SDK sebagai gantinya.

 **Metrik algoritma**: Anda dapat menentukan metrik algoritme sebagai bagian dari skrip algoritme yang dipancarkan ke CloudWatch Amazon dan ditampilkan secara real time di Amazon konsol Braket saat pekerjaan hybrid Anda berjalan. Untuk contoh cara menggunakan metrik algoritme, lihat [Menggunakan Pekerjaan Hibrid Amazon Braket untuk menjalankan algoritma QAOA](braket-jobs-run-qaoa-algorithm.md).

Untuk informasi selengkapnya tentang menyimpan output pekerjaan Anda, lihat [Menyimpan hasil Anda](https://docs.aws.amazon.com/braket/latest/developerguide/braket-jobs-first.html#braket-jobs-save-results) di dokumentasi Pekerjaan Hybrid. 

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

Amazon Braket menyediakan beberapa variabel lingkungan untuk menyederhanakan interaksi dengan input dan output kontainer. Kode berikut mencantumkan variabel lingkungan yang digunakan Braket.
+ `AMZN_BRAKET_INPUT_DIR`— Direktori data inputopt/braket/input/data.
+ `AMZN_BRAKET_JOB_RESULTS_DIR`— Direktori output opt/braket/model untuk menulis hasil pekerjaan ke.
+ `AMZN_BRAKET_JOB_NAME`- Nama pekerjaan.
+ `AMZN_BRAKET_CHECKPOINT_DIR`— Direktori pos pemeriksaan.
+ `AMZN_BRAKET_HP_FILE`— File yang berisi hyperparameters.
+ `AMZN_BRAKET_DEVICE_ARN`— Perangkat ARN (Nama AWS Sumber Daya).
+ `AMZN_BRAKET_OUT_S3_BUCKET`- Bucket Amazon S3 keluaran, seperti yang ditentukan dalam `CreateJob` permintaan. `OutputDataConfig`
+ `AMZN_BRAKET_SCRIPT_ENTRY_POINT`— Titik masuk seperti yang ditentukan dalam `CreateJob` permintaan`ScriptModeConfig`.
+ `AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE`— Jenis kompresi seperti yang ditentukan dalam `CreateJob` permintaan`ScriptModeConfig`.
+ `AMZN_BRAKET_SCRIPT_S3_URI`— Lokasi Amazon S3 dari skrip pengguna seperti yang ditentukan dalam `CreateJob` permintaan. `ScriptModeConfig`
+ `AMZN_BRAKET_TASK_RESULTS_S3_URI`— Lokasi Amazon S3 tempat SDK akan menyimpan hasil tugas kuantum secara default untuk pekerjaan tersebut.
+ `AMZN_BRAKET_JOB_RESULTS_S3_PATH`— Lokasi Amazon S3 tempat hasil pekerjaan akan disimpan, seperti yang ditentukan dalam `CreateJob` permintaan. `OutputDataConfig`
+ `AMZN_BRAKET_JOB_TOKEN`— String yang harus diteruskan ke `CreateQuantumTask` `jobToken` parameter untuk tugas kuantum yang dibuat dalam wadah pekerjaan.

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

Amazon Braket menyediakan beberapa fungsi pembantu untuk menyederhanakan interaksi dengan input dan output kontainer. Fungsi pembantu ini akan dipanggil dari dalam skrip algoritma yang digunakan untuk menjalankan Job Hybrid Anda. Contoh berikut menunjukkan cara menggunakannya.

```
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
```