Input, output, variabel lingkungan, dan fungsi pembantu - Amazon Braket

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

Input, output, variabel lingkungan, dan fungsi pembantu

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.

AmazonBraket juga menyediakan beberapa variabel lingkungan dan fungsi pembantu untuk menyederhanakan interaksi dengan input dan output kontainer.

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

Masukan

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.

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 masukhyperparameters, mereka tersedia di bawah variabel "AMZN_BRAKET_HP_FILE" lingkungan.

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 adalahNone, artinya data pos pemeriksaan dari pekerjaan hybrid lain tidak akan digunakan dalam pekerjaan hybrid baru.

Output

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

Hasil pekerjaan: Semua 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 Anda tidak menentukan nilai ini, 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.

Variabel lingkungan

AmazonBraket menyediakan beberapa variabel lingkungan untuk menyederhanakan interaksi dengan input dan output kontainer. Kode berikut mencantumkan variabel lingkungan yang digunakan Braket.

# the input data directory opt/braket/input/data os.environ["AMZN_BRAKET_INPUT_DIR"] # the output directory opt/braket/model to write job results to os.environ["AMZN_BRAKET_JOB_RESULTS_DIR"] # the name of the job os.environ["AMZN_BRAKET_JOB_NAME"] # the checkpoint directory os.environ["AMZN_BRAKET_CHECKPOINT_DIR"] # the file containing the hyperparameters os.environ["AMZN_BRAKET_HP_FILE"] # the device ARN (AWS Resource Name) os.environ["AMZN_BRAKET_DEVICE_ARN"] # the output S3 bucket, as specified in the CreateJob request’s OutputDataConfig os.environ["AMZN_BRAKET_OUT_S3_BUCKET"] # the entry point as specified in the CreateJob request’s ScriptModeConfig os.environ["AMZN_BRAKET_SCRIPT_ENTRY_POINT"] # the compression type as specified in the CreateJob request’s ScriptModeConfig os.environ["AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE"] # the S3 location of the user’s script as specified in the CreateJob request’s ScriptModeConfig os.environ["AMZN_BRAKET_SCRIPT_S3_URI"] # the S3 location where the SDK would store the quantum task results by default for the job os.environ["AMZN_BRAKET_TASK_RESULTS_S3_URI"] # the S3 location where the job results would be stored, as specified in CreateJob request’s OutputDataConfig os.environ["AMZN_BRAKET_JOB_RESULTS_S3_PATH"] # the string that should be passed to CreateQuantumTask’s jobToken parameter for quantum tasks created in the job container os.environ["AMZN_BRAKET_JOB_TOKEN"]

Fungsi pembantu

AmazonBraket 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.

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