RunConfiguration Kelas
Mewakili konfigurasi untuk eksekusi eksperimen yang menargetkan target komputasi yang berbeda dalam Azure Machine Learning.
Objek RunConfiguration merangkum informasi penting untuk mengirimkan eksekusi pelatihan dalam percobaan. Biasanya, Anda tidak akan membuat objek RunConfiguration secara langsung tetapi mendapatkannya dari metode yang menampilkannya, seperti metode submit dari kelas Experiment.
RunConfiguration adalah konfigurasi lingkungan dasar yang juga digunakan dalam jenis langkah konfigurasi lain yang bergantung pada jenis eksekusi yang Anda picu. Misalnya, saat menyiapkan PythonScriptStep, Anda dapat mengakses objek RunConfiguration dari langkah tersebut dan melakukan konfigurasi dependensi Conda atau mengakses properti lingkungan untuk eksekusi.
Untuk contoh konfigurasi eksekusi, lihat Memilih dan menggunakan target komputasi untuk melatih model Anda.
Menginisialisasi RunConfiguration dengan pengaturan default.
- Warisan
-
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElementRunConfiguration
Konstruktor
RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)
Parameter
- script
- str
Jalur relatif ke file skrip Python. Jalur file bersifat relatif ke direktori sumber yang diteruskan ke submit.
- framework
- str
Kerangka kerja yang ditargetkan digunakan dalam eksekusi. Kerangka kerja yang didukung adalah Python, PySpark, TensorFlow, dan PyTorch.
- communicator
- str
Komunikator yang digunakan dalam eksekusi. Komunikator yang didukung adalah None, ParameterServer, OpenMpi, dan IntelMpi. Perlu diingat bahwa OpenMpi memerlukan gambar kustom dengan OpenMpi yang terpasang. Gunakan ParameterServer atau OpenMpi untuk kluster AmlCompute. Gunakan IntelMpi untuk pekerjaan pelatihan terdistribusi.
- conda_dependencies
- CondaDependencies
Ketika dibiarkan pada nilai default False, sistem akan membuat lingkungan Python, yang mencakup paket yang ditentukan dalam conda_dependencies
.
Saat diatur menjadi true, lingkungan Python yang ada dapat ditentukan dengan pengaturan python_interpreter.
Perintah yang akan dikirimkan untuk eksekusi. Properti perintah juga dapat digunakan sebagai pengganti skrip/argumen. Properti perintah dan skrip/argumen tidak dapat digunakan bersama untuk mengirimkan eksekusi. Untuk mengirimkan file skrip menggunakan properti perintah - ['python', 'train.py', '–arg1', arg1_val] Untuk menjalankan perintah sebenarnya - ['ls']
- _history_enabled
- _path
- _name
Keterangan
Biasanya kami membuat sistem pembelajaran mesin untuk memecahkan masalah tertentu. Misalnya, mungkin kami tertarik untuk menemukan model terbaik yang memberi peringkat halaman web yang mungkin berfungsi sebagai hasil pencarian sesuai kueri. Pencarian kami untuk model pembelajaran mesin terbaik mungkin mengharuskan kami mencoba algoritma yang berbeda, atau mempertimbangkan pengaturan parameter yang berbeda, dll.
Dalam SDK Azure Machine Learning, kami menggunakan konsep eksperimen untuk menangkap gagasan bahwa eksekusi pelatihan yang berbeda berkaitan dengan masalah yang ingin mereka selesaikan. Kemudian Experiment berfungsi sebagai kontainer logis untuk eksekusi pelatihan ini, sehingga lebih mudah untuk melacak kemajuan di seluruh eksekusi pelatihan, membandingkan dua eksekusi pelatihan secara langsung, dll.
RunConfiguration merangkum pengaturan lingkungan eksekusi yang diperlukan untuk mengirimkan eksekusi pelatihan dalam eksperimen. Ini menangkap struktur bersama eksekusi pelatihan yang dirancang untuk menyelesaikan masalah pembelajaran mesin yang sama, serta perbedaan dalam parameter konfigurasi (misalnya, tingkat pembelajaran, fungsi kehilangan, dll.) yang membedakan pelatihan yang berbeda berjalan satu sama lain.
Dalam skenario pelatihan yang khas, RunConfiguration digunakan dengan membuat objek ScriptRunConfig yang mengemas objek RunConfiguration dan skrip eksekusi untuk pelatihan.
Konfigurasi RunConfiguration meliputi:
Menggabungkan direktori sumber eksperimen termasuk skrip yang dikirimkan.
Mengatur argumen Baris perintah untuk skrip yang dikirimkan.
Mengonfigurasi jalur untuk interpreter Python.
Dapatkan konfigurasi Conda untuk mengelola dependensi aplikasi. Proses pengiriman pekerjaan bisa menggunakan konfigurasi untuk menyediakan lingkungan Conda sementara serta meluncurkan aplikasi di dalamnya. Lingkungan sementara ditembolokkan dan digunakan kembali dalam eksekusi berikutnya.
Penggunaan opsional Docker dan gambar dasar kustom.
Pilihan opsional untuk mengirimkan eksperimen ke beberapa jenis komputasi Azure.
Pilihan opsional untuk mengonfigurasi cara melaksanakan input dan mengunggah output.
Pengaturan runtime tingkat lanjut untuk runtime umum seperti spark dan tensorflow.
Contoh berikut menunjukkan cara mengirimkan skrip pelatihan di komputer lokal Anda.
from azureml.core import ScriptRunConfig, RunConfiguration, Experiment
# create or load an experiment
experiment = Experiment(workspace, "MyExperiment")
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = experiment.submit(config)
Contoh berikut menunjukkan cara mengirimkan skrip pelatihan di kluster Anda menggunakan properti perintah, bukan skrip dan argumen.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
command=['python', 'train.py', '--arg1', arg1_val],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
Sampel berikut menunjukkan cara menjalankan perintah di kluster Anda.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
command=['ls', '-l'],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
Variabel
- environment
- Environment
Definisi lingkungan. Bidang ini mengonfigurasi lingkungan Python. Bisa dikonfigurasi untuk menggunakan lingkungan Python yang ada atau mengonfigurasi untuk menyiapkan lingkungan sementara untuk eksperimen. Definisi ini juga bertanggung jawab untuk mengatur dependensi aplikasi yang diperlukan.
- max_run_duration_seconds
- int
Waktu maksimum yang diizinkan untuk eksekusi. Sistem akan mencoba membatalkan eksekusi secara otomatis jika memakan waktu lebih lama dari nilai ini.
- node_count
- int
Jumlah node yang digunakan untuk pekerjaan.
- priority
- int
Prioritas pekerjaan untuk kebijakan penjadwalan.
- history
- HistoryConfiguration
Bagian konfigurasi yang digunakan untuk menonaktifkan dan mengaktifkan fitur pengelogan riwayat eksperimen.
- spark
- SparkConfiguration
Saat platform diatur ke PySpark, bagian konfigurasi Spark digunakan untuk mengatur SparkConf default pada pekerjaan yang dikirim.
- hdi
- HdiConfiguration
Bagian konfigurasi HDI berlaku hanya ketika target diatur ke komputasi HDI Azure. Konfigurasi HDI digunakan untuk mengatur mode penyebaran YARN. Mode penyebaran default adalah kluster.
- docker
- DockerConfiguration
Bagian konfigurasi Docker digunakan untuk mengatur variabel untuk lingkungan Docker.
- tensorflow
- TensorflowConfiguration
Bagian konfigurasi yang digunakan untuk mengonfigurasi parameter TensorFlow terdistribusi.
Parameter ini berlaku hanya ketika framework
diatur ke TensorFlow, dan communicator
ke ParameterServer. AmlCompute adalah satu-satunya komputasi yang didukung untuk konfigurasi ini.
- mpi
- MpiConfiguration
Bagian konfigurasi yang digunakan untuk mengonfigurasi parameter pekerjaan MPI terdistribusi.
Parameter ini hanya berlaku ketika framework
diatur ke python, dan communicator
ke OpenMpi atau IntelMpi. AmlCompute adalah satu-satunya jenis komputasi yang didukung untuk konfigurasi ini.
- pytorch
- PyTorchConfiguration
Bagian konfigurasi yang digunakan untuk mengonfigurasi parameter pekerjaan PyTorch terdistribusi.
Parameter ini berlaku hanya saat framework
diatur ke PyTorch, dan communicator
ke Nccl atau Gloo. AmlCompute adalah satu-satunya jenis komputasi yang didukung untuk konfigurasi ini.
- paralleltask
- ParallelTaskConfiguration
Bagian konfigurasi yang digunakan untuk mengonfigurasi parameter pekerjaan paralel terdistribusi.
Parameter ini hanya berlaku ketika framework
diatur ke Python, dan communicator
ke ParallelTask. AmlCompute adalah satu-satunya jenis komputasi yang didukung untuk konfigurasi ini.
- data_references
- dict[str, DataReferenceConfiguration]
Semua sumber data tersedia untuk dijalankan selama eksekusi berdasarkan setiap konfigurasi. Untuk setiap item kamus, kuncinya adalah nama yang diberikan ke sumber data dan nilainya adalah DataReferenceConfiguration.
- datacaches
- <xref:buildin.list>[DatacacheConfiguration]
Semua data untuk membuat datacache tersedia untuk dijalankan selama eksekusi.
- output_data
- OutputData
Semua output yang harus diunggah dan dilacak untuk eksekusi ini.
- source_directory_data_store
- str
Penyimpanan data pendukung untuk berbagi proyek.
- amlcompute
- AmlComputeConfiguration
Detail target komputasi yang akan dibuat selama eksperimen. Konfigurasi hanya berlaku jika target komputasi adalah AmlCompute.
- kubernetescompute
- KubernetesComputeConfiguration
Detail target komputasi yang akan digunakan selama eksperimen. Konfigurasi berlaku hanya saat target komputasi adalah KubernetesCompute.
- services
- dict[str, ApplicationEndpointConfiguration]
Titik akhir untuk interaktif dengan sumber daya komputasi. Titik akhir yang diizinkan adalah Jupyter, JupyterLab, Visual Studio Code, Tensorboard, SSH, dan port Kustom.
Metode
delete |
Hapus file konfigurasi eksekusi. Mengajukan UserErrorException jika file konfigurasi tidak ditemukan. |
load |
Muat file konfigurasi eksekusi yang disimpan sebelumnya dari file di disk. Jika Jika |
save |
Simpan RunConfiguration ke file di disk. UserErrorException diajukan ketika:
Jika Jika Metode ini berguna saat mengedit konfigurasi secara manual atau saat berbagi konfigurasi dengan CLI. |
delete
Hapus file konfigurasi eksekusi.
Mengajukan UserErrorException jika file konfigurasi tidak ditemukan.
static delete(path, name)
Parameter
- path
- str
Direktori akar yang dipilih pengguna untuk konfigurasi eksekusi. Biasanya ini adalah Repositori Git atau direktori akar proyek Python. Konfigurasi dihapus dari sub direktori bernama .azureml.
Pengecualian
load
Muat file konfigurasi eksekusi yang disimpan sebelumnya dari file di disk.
Jika path
mengarah ke file, RunConfiguration dimuat dari file tersebut.
Jika path
mengarah ke direktori, yang seharusnya menjadi direktori proyek, RunConfiguration akan dimuat dari <jalur>/.azureml/<name> atau <jalur>/aml_config/<name>.
static load(path, name=None)
Parameter
- path
- str
Direktori akar yang dipilih pengguna untuk konfigurasi eksekusi. Biasanya ini adalah Repositori Git atau direktori akar proyek Python. Untuk kompatibilitas mundur, konfigurasi juga akan dimuat dari .azureml atau sub direktori aml_config. Jika file tidak ada di direktori tersebut, file dimuat dari jalur yang ditentukan.
Mengembalikan
Objek konfigurasi eksekusi.
Tipe hasil
Pengecualian
save
Simpan RunConfiguration ke file di disk.
UserErrorException diajukan ketika:
RunConfiguration tidak dapat disimpan dengan nama yang ditentukan.
Tidak ada parameter
name
yang ditentukan.Parameter
path
tidak valid.
Jika path
dari format <dir_path>/<file_name>, dengan <dir_path> adalah direktori yang valid, RunConfiguration akan disimpan pada <dir_path>/<file_name>.
Jika path
mengarah ke direktori, yang seharusnya menjadi direktori proyek, RunConfiguration akan disimpan di <jalur>/.azureml/<name> atau <jalur>/aml_config/<name>.
Metode ini berguna saat mengedit konfigurasi secara manual atau saat berbagi konfigurasi dengan CLI.
save(path=None, name=None, separate_environment_yaml=False)
Parameter
- separate_environment_yaml
- bool
Menunjukkan apakah akan menyimpan konfigurasi lingkungan Conda. Jika True, konfigurasi lingkungan Conda disimpan ke file YAML bernama 'environment.yml'.
- path
- str
Direktori akar yang dipilih pengguna untuk menjalankan konfigurasi. Biasanya ini adalah Repositori Git atau direktori akar proyek Python. Konfigurasi disimpan ke sub direktori bernama .azureml.
Tipe hasil
Pengecualian
Atribut
auto_prepare_environment
Dapatkan parameter auto_prepare_environment
. Ini adalah pengaturan yang sudah tidak digunakan lagi dan tidak digunakan.
environment_variables
target
Mendapatkan target komputasi tempat pekerjaan dijadwalkan untuk dieksekusi.
Target default bersifat "lokal" mengacu pada komputer lokal. Target komputasi cloud yang tersedia dapat ditemukan menggunakan fungsi compute_targets.
Mengembalikan
Nama target
Tipe hasil
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