ParallelRunConfig Kelas
Menentukan konfigurasi untuk objek ParallelRunStep.
Untuk contoh penggunaan ParallelRunStep, lihat buku catatan https://aka.ms/batch-inference-notebooks.
Untuk panduan pemecahan masalah, lihat https://aka.ms/prstsg. Anda dapat menemukan lebih banyak referensi di sana.
Menginisialisasi objek konfigurasi.
- Warisan
-
azureml.pipeline.core._parallel_run_config_base._ParallelRunConfigBaseParallelRunConfig
Konstruktor
ParallelRunConfig(environment, entry_script, error_threshold, output_action, compute_target, node_count, process_count_per_node=None, mini_batch_size=None, source_directory=None, description=None, logging_level='INFO', run_invocation_timeout=60, run_max_try=3, append_row_file_name=None, allowed_failed_count=None, allowed_failed_percent=None, partition_keys=None, environment_variables=None)
Parameter
Nama | Deskripsi |
---|---|
environment
Diperlukan
|
Definisi lingkungan yang mengonfigurasi lingkungan Python. Ini dapat dikonfigurasi untuk menggunakan lingkungan Python yang ada atau untuk mengatur lingkungan sementara untuk eksperimen. Definisi lingkungan bertanggung jawab untuk menentukan dependensi aplikasi yang diperlukan, seperti paket conda atau pip. |
entry_script
Diperlukan
|
Skrip pengguna yang akan dijalankan secara paralel pada beberapa node. Skrip pengguna ini ditentukan sebagai jalur file lokal. Jika |
error_threshold
Diperlukan
|
Jumlah kegagalan baris untuk TabularDataset dan kegagalan file untuk FileDataset yang harus diabaikan selama pemrosesan. Jika jumlah kesalahan di atas nilai ini, maka pekerjaan akan dibatalkan. Ambang kesalahan adalah untuk seluruh input dan bukan untuk batch mini individual yang dikirim ke metode run(). Rentangnya adalah [-1, int.max]. -1 menunjukkan pengabaian semua kegagalan selama pemrosesan. |
output_action
Diperlukan
|
Bagaimana output harus diatur. Nilai yang didukung saat ini adalah 'append_row' dan 'summary_only'.
|
compute_target
Diperlukan
|
AmlCompute atau
str
Hitung target yang akan digunakan untuk eksekusi ParallelRunStep. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama target komputasi di ruang kerja. |
node_count
Diperlukan
|
Jumlah node dalam target komputasi yang digunakan untuk menjalankan ParallelRunStep. |
process_count_per_node
|
Jumlah proses pekerja per node untuk menjalankan skrip entri secara paralel.
Untuk mesin GPU, nilai defaultnya adalah 1.
Untuk mesin CPU, nilai default adalah jumlah core.
Proses pekerja akan memanggil nilai default: None
|
mini_batch_size
|
Untuk input FileDataset, bidang ini adalah jumlah file yang dapat diproses oleh skrip pengguna dalam satu panggilan run(). Untuk input TabularDataset, bidang ini adalah perkiraan ukuran data yang dapat diproses oleh skrip pengguna dalam satu panggilan run(). Nilai contoh adalah 1024, 1024KB, 10MB, dan 1GB. (opsional, nilai default adalah 10 file untuk FileDataset dan 1MB untuk TabularDataset.) nilai default: None
|
source_directory
|
Jalur ke folder yang berisi nilai default: None
|
description
|
Deskripsi untuk layanan batch digunakan untuk tujuan tampilan. nilai default: None
|
logging_level
|
Untai nama tingkat pengelogan, yang ditentukan dalam 'pengelogan'. Nilai yang mungkin adalah 'WARNING', 'INFO', dan 'DEBUG'. (opsional, nilai default adalah ‘INFO’.) nilai default: INFO
|
run_invocation_timeout
|
Waktu habis dalam hitungan detik untuk setiap pemanggilan metode run(). (opsional, nilai default adalah 60.) nilai default: 60
|
run_max_try
|
Jumlah percobaan maksimum untuk batch mini yang gagal atau waktunya habis. Rentangnya adalah [1, int.max]. Nilai defaultnya adalah 3. Batch mini dengan jumlah penghapusan antrean lebih besar dari ini tidak akan diproses kembali dan akan langsung dihapus. nilai default: 3
|
append_row_file_name
|
Nama file output jika nilai default: None
|
allowed_failed_count
|
Jumlah batch mini yang gagal yang harus diabaikan selama pemrosesan. Jika jumlah kegagalan melebihi nilai ini, pekerjaan akan dibatalkan. Ambang ini adalah untuk seluruh input alih-alih untuk batch mini individual yang dikirim ke metode run(). Rentangnya adalah [-1, int.max]. -1 menunjukkan pengabaian semua kegagalan selama pemrosesan. Batch mini mungkin gagal pada saat pertama kali diproses dan kemudian berhasil pada percobaan kedua. Pemeriksaan antara yang pertama dan kedua kalinya akan dianggap gagal. Pemeriksaan setelah kedua kalinya tidak akan dianggap gagal. Argumen –error_threshold, –allowed_failed_count dan –allowed_failed_percent dapat bekerja bersama. Jika yang ditentukan lebih dari satu, pekerjaan akan dibatalkan jika melebihi salah satu dari mereka. nilai default: None
|
allowed_failed_percent
|
Jumlah batch mini yang gagal yang harus diabaikan selama pemrosesan. Jika persentase gagal melebihi nilai ini, maka pekerjaan akan dibatalkan. Ambang ini adalah untuk seluruh input alih-alih untuk batch mini individual yang dikirim ke metode run(). Rentangnya adalah [0, 100]. 100 atau 100,0 menunjukkan pengabaian semua kegagalan selama pemrosesan. Pemeriksaan dimulai setelah semua batch mini dijadwalkan. Argumen –error_threshold, –allowed_failed_count dan –allowed_failed_percent dapat bekerja bersama. Jika yang ditentukan lebih dari satu, pekerjaan akan dibatalkan jika melebihi salah satu dari mereka. nilai default: None
|
partition_keys
|
Kunci yang digunakan untuk mempartisi himpunan data menjadi batch-mini. Jika ditentukan, data dengan kunci yang sama akan dipartisi menjadi batch-mini yang sama. Jika partition_keys dan mini_batch_size ditentukan, kesalahan akan muncul. Ini harus berupa daftar elemen str yang masing-masing menjadi kunci yang digunakan untuk mempartisi himpunan data input. Namun, jika dipromosikan ke PipelineParameter, nilai default harus menjadi json dump str dari daftar karena jenis daftar tidak didukung di PipelineParameter untuk saat ini. Input harus berupa himpunan data yang dipartisi, dan partition_keys harus merupakan subset dari kunci dari setiap himpunan data input agar hal ini berfungsi. nilai default: None
|
environment_variables
|
Kamus nama dan nilai variabel lingkungan. Variabel lingkungan ini diatur pada proses saat skrip pengguna sedang dijalankan. nilai default: None
|
environment
Diperlukan
|
Definisi lingkungan yang mengonfigurasi lingkungan Python. Ini dapat dikonfigurasi untuk menggunakan lingkungan Python yang ada atau untuk mengatur lingkungan sementara untuk eksperimen. Definisi lingkungan bertanggung jawab untuk menentukan dependensi aplikasi yang diperlukan, seperti paket conda atau pip. |
entry_script
Diperlukan
|
Skrip pengguna yang akan dijalankan secara paralel pada beberapa node. Skrip pengguna ini ditentukan sebagai jalur file lokal. Jika |
error_threshold
Diperlukan
|
Jumlah kegagalan baris untuk TabularDataset dan kegagalan file untuk FileDataset yang harus diabaikan selama pemrosesan. Jika jumlah kesalahan di atas nilai ini, maka pekerjaan akan dibatalkan. Ambang kesalahan adalah untuk seluruh input dan bukan untuk batch mini individual yang dikirim ke metode run(). Rentangnya adalah [-1, int.max]. -1 menunjukkan pengabaian semua kegagalan selama pemrosesan. |
output_action
Diperlukan
|
Bagaimana output harus diatur. Nilai yang didukung saat ini adalah 'append_row' dan 'summary_only'.
|
compute_target
Diperlukan
|
AmlCompute atau
str
Hitung target yang akan digunakan untuk eksekusi ParallelRunStep. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama target komputasi di ruang kerja. |
node_count
Diperlukan
|
Jumlah node dalam target komputasi yang digunakan untuk menjalankan ParallelRunStep. |
process_count_per_node
Diperlukan
|
Jumlah proses pekerja per node untuk menjalankan skrip entri secara paralel.
Untuk komputer GPU, nilai defaultnya adalah 1.
Untuk komputer CPU, nilai defaultnya adalah jumlah inti.
Proses pekerja akan memanggil |
mini_batch_size
Diperlukan
|
Untuk input FileDataset, bidang ini adalah jumlah file yang dapat diproses oleh skrip pengguna dalam satu panggilan run(). Untuk input TabularDataset, bidang ini adalah perkiraan ukuran data yang dapat diproses oleh skrip pengguna dalam satu panggilan run(). Nilai contoh adalah 1024, 1024KB, 10MB, dan 1GB. (opsional, nilai default adalah 10 file untuk FileDataset dan 1MB untuk TabularDataset.) |
source_directory
Diperlukan
|
Jalur ke folder yang berisi |
description
Diperlukan
|
Deskripsi untuk layanan batch digunakan untuk tujuan tampilan. |
logging_level
Diperlukan
|
Untai nama tingkat pengelogan, yang ditentukan dalam 'pengelogan'. Nilai yang mungkin adalah 'WARNING', 'INFO', dan 'DEBUG'. (opsional, nilai default adalah ‘INFO’.) |
run_invocation_timeout
Diperlukan
|
Waktu habis dalam hitungan detik untuk setiap pemanggilan metode run(). (opsional, nilai default adalah 60.) |
run_max_try
Diperlukan
|
Jumlah percobaan maksimum untuk batch mini yang gagal atau waktunya habis. Rentangnya adalah [1, int.max]. Nilai defaultnya adalah 3. Batch mini dengan jumlah penghapusan antrean lebih besar dari ini tidak akan diproses kembali dan akan langsung dihapus. |
append_row_file_name
Diperlukan
|
Nama file output jika |
allowed_failed_count
Diperlukan
|
Jumlah batch mini yang gagal yang harus diabaikan selama pemrosesan. Jika jumlah kegagalan melebihi nilai ini, pekerjaan akan dibatalkan. Ambang ini adalah untuk seluruh input alih-alih untuk batch mini individual yang dikirim ke metode run(). Rentangnya adalah [-1, int.max]. -1 menunjukkan pengabaian semua kegagalan selama pemrosesan. Batch mini mungkin gagal pada saat pertama kali diproses dan kemudian berhasil pada percobaan kedua. Pemeriksaan antara yang pertama dan kedua kalinya akan dianggap gagal. Pemeriksaan setelah kedua kalinya tidak akan dianggap gagal. Argumen –error_threshold, –allowed_failed_count dan –allowed_failed_percent dapat bekerja bersama. Jika yang ditentukan lebih dari satu, pekerjaan akan dibatalkan jika melebihi salah satu dari mereka. |
allowed_failed_percent
Diperlukan
|
Jumlah batch mini yang gagal yang harus diabaikan selama pemrosesan. Jika persentase gagal melebihi nilai ini, maka pekerjaan akan dibatalkan. Ambang ini adalah untuk seluruh input alih-alih untuk batch mini individual yang dikirim ke metode run(). Rentangnya adalah [0, 100]. 100 atau 100,0 menunjukkan pengabaian semua kegagalan selama pemrosesan. Pemeriksaan dimulai setelah semua batch mini dijadwalkan. Argumen –error_threshold, –allowed_failed_count dan –allowed_failed_percent dapat bekerja bersama. Jika yang ditentukan lebih dari satu, pekerjaan akan dibatalkan jika melebihi salah satu dari mereka. |
partition_keys
Diperlukan
|
Kunci yang digunakan untuk mempartisi himpunan data menjadi batch-mini. Jika ditentukan, data dengan kunci yang sama akan dipartisi menjadi batch-mini yang sama. Jika partition_keys dan mini_batch_size ditentukan, kesalahan akan muncul. Ini harus berupa daftar elemen str yang masing-masing menjadi kunci yang digunakan untuk mempartisi himpunan data input. Namun, jika dipromosikan ke PipelineParameter, nilai default harus menjadi json dump str dari daftar karena jenis daftar tidak didukung di PipelineParameter untuk saat ini. Input harus berupa himpunan data yang dipartisi, dan partition_keys harus merupakan subset dari kunci dari setiap himpunan data input agar hal ini berfungsi. |
environment_variables
Diperlukan
|
Kamus nama dan nilai variabel lingkungan. Variabel lingkungan ini diatur pada proses tempat skrip pengguna sedang dijalankan. |
Keterangan
Kelas ParallelRunConfig digunakan untuk menyediakan konfigurasi untuk kelas ParallelRunStep. ParallelRunConfig dan ParallelRunStep dapat digunakan bersama untuk memproses sejumlah besar data secara paralel. Kasus penggunaan yang umum adalah saat melatih model ML atau menjalankan inferensi offline untuk menghasilkan prediksi pada suatu batch pengamatan. ParallelRunStep berfungsi dengan memecah data Anda menjadi sejumlah batch yang kemudian diproses secara paralel. Ukuran batch, jumlah node, dan parameter lainnya yang dapat diubah untuk mempercepat pemrosesan paralel Anda dapat dikontrol dengan kelas ParallelRunConfig. ParallelRunStep dapat berfungsi dengan TabularDataset atau FileDataset sebagai input.
Untuk menggunakan ParallelRunStep dan ParallelRunConfig:
Buat objek ParallelRunConfig untuk menentukan cara pemrosesan batch dilakukan, dengan parameter untuk mengontrol ukuran batch, jumlah node per target komputasi, dan referensi ke skrip Python kustom Anda.
Buat objek ParallelRunStep yang menggunakan objek ParallelRunConfig, menentukan input dan output untuk langkah tersebut.
Gunakan objek ParallelRunStep yang dikonfigurasi dalam Pipeline seperti yang Anda lakukan dengan jenis langkah alur lainnya.
Contoh bekerja dengan kelas ParallelRunStep dan ParallelRunConfig untuk inferensi batch dibahas dalam artikel berikut:
Tutorial: Membangun alur Azure Machine Learning untuk pemberian skor batch. Artikel ini menunjukkan cara menggunakan kedua kelas ini untuk pemberian skor batch asinkron dalam alur dan mengaktifkan titik akhir REST untuk menjalankan alur.
Menjalankan inferensi batch pada data dalam jumlah yang besar dengan menggunakan Azure Machine Learning. Artikel ini menunjukkan cara memproses data dalam jumlah besar secara asinkron dan paralel dengan skrip inferensi kustom dan basis model klasifikasi gambar yang sudah dilatih pada himpunan data MNIST.
from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig
parallel_run_config = ParallelRunConfig(
source_directory=scripts_folder,
entry_script=script_file,
mini_batch_size="5", # or partition_keys=["key1", "key2"], which is another way to partition the
# input to mini-batches, refer to the parameter description for details
error_threshold=10, # Optional, allowed failed count on mini batch items
allowed_failed_count=15, # Optional, allowed failed count on mini batches
allowed_failed_percent=10, # Optional, allowed failed percent on mini batches
run_max_try=3,
output_action="append_row",
environment=batch_env,
compute_target=compute_target,
node_count=2)
parallelrun_step = ParallelRunStep(
name="predict-digits-mnist",
parallel_run_config=parallel_run_config,
inputs=[ named_mnist_ds ],
output=output_dir,
arguments=[ "--extra_arg", "example_value" ],
allow_reuse=True
)
Untuk informasi selengkapnya tentang contoh ini, lihat buku catatan https://aka.ms/batch-inference-notebooks.
Metode
load_yaml |
Muat data konfigurasi eksekusi paralel dari file YAML. |
save_to_yaml |
Ekspor data konfigurasi eksekusi paralel ke file YAML. |
load_yaml
Muat data konfigurasi eksekusi paralel dari file YAML.
static load_yaml(workspace, path)
Parameter
Nama | Deskripsi |
---|---|
workspace
Diperlukan
|
Ruang kerja untuk membaca data konfigurasi. |
path
Diperlukan
|
Jalur untuk memuat konfigurasi. |
save_to_yaml
Ekspor data konfigurasi eksekusi paralel ke file YAML.
save_to_yaml(path)
Parameter
Nama | Deskripsi |
---|---|
path
Diperlukan
|
Jalur untuk menyimpan file. |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk