Bagikan melalui


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._AbstractRunConfigElement
RunConfiguration

Konstruktor

RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)

Parameter

Nama Deskripsi
script
str

Jalur relatif ke file skrip Python. Jalur file bersifat relatif ke direktori sumber yang diteruskan ke submit.

Nilai default: None
arguments

Argumen baris perintah untuk file skrip Python.

Nilai default: None
framework
str

Kerangka kerja yang ditargetkan digunakan dalam eksekusi. Kerangka kerja yang didukung adalah Python, PySpark, TensorFlow, dan PyTorch.

Nilai default: None
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.

Nilai default: None
conda_dependencies

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.

Nilai default: None
auto_prepare_environment
Diperlukan

TIDAK DIGUNAKAN LAGI. Pengaturan ini tidak digunakan lagi.

command
list[str] atau str

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']

Nilai default: None
_history_enabled
Nilai default: None
_path
Nilai default: None
_name
Nilai default: None

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

Nama Deskripsi
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

Bagian konfigurasi yang digunakan untuk menonaktifkan dan mengaktifkan fitur pengelogan riwayat eksperimen.

spark

Saat platform diatur ke PySpark, bagian konfigurasi Spark digunakan untuk mengatur SparkConf default pada pekerjaan yang dikirim.

hdi

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

Bagian konfigurasi Docker digunakan untuk mengatur variabel untuk lingkungan Docker.

tensorflow

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

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

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

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

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.

data

Semua data yang akan tersedia untuk dijalankan selama eksekusi.

datacaches
<xref:buildin.list>[DatacacheConfiguration]

Semua data untuk membuat datacache tersedia untuk dijalankan selama eksekusi.

output_data

Semua output yang harus diunggah dan dilacak untuk eksekusi ini.

source_directory_data_store
str

Penyimpanan data pendukung untuk berbagi proyek.

amlcompute

Detail target komputasi yang akan dibuat selama eksperimen. Konfigurasi hanya berlaku jika target komputasi adalah AmlCompute.

kubernetescompute

Detail target komputasi yang akan digunakan selama eksperimen. Konfigurasi berlaku hanya saat target komputasi adalah KubernetesCompute.

services

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

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.

delete

Hapus file konfigurasi eksekusi.

Mengajukan UserErrorException jika file konfigurasi tidak ditemukan.

static delete(path, name)

Parameter

Nama Deskripsi
path
Diperlukan
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.

name
Diperlukan
str

Nama file konfigurasi.

Pengecualian

Jenis Deskripsi
UserErrorException

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

Nama Deskripsi
path
Diperlukan
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.

name
str

Nama file konfigurasi.

Nilai default: None

Mengembalikan

Jenis Deskripsi

Objek konfigurasi eksekusi.

Pengecualian

Jenis Deskripsi
UserErrorException

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

Nama Deskripsi
separate_environment_yaml

Menunjukkan apakah akan menyimpan konfigurasi lingkungan Conda. Jika True, konfigurasi lingkungan Conda disimpan ke file YAML bernama 'environment.yml'.

Nilai default: False
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.

Nilai default: None
name
str

[Diperlukan] Nama file konfigurasi.

Nilai default: None

Mengembalikan

Jenis Deskripsi

Pengecualian

Jenis Deskripsi
UserErrorException

Atribut

auto_prepare_environment

Dapatkan parameter auto_prepare_environment. Ini adalah pengaturan yang sudah tidak digunakan lagi dan tidak digunakan.

environment_variables

Variabel lingkungan runtime.

Mengembalikan

Jenis Deskripsi

Variabel runtime

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

Jenis Deskripsi
str

Nama target