Model Kelas
Menunjukkan hasil pelatihan pembelajaran mesin.
Model adalah hasil dari pelatihan Azure Machine Learning Run atau beberapa proses pelatihan model lainnya di luar Azure. Terlepas dari bagaimana model dihasilkan, model ini dapat didaftarkan di ruang kerja, yang ditunjukkan oleh sebuah nama dan versi. Dengan kelas Model, Anda dapat mengemas model untuk digunakan dengan Docker dan menyebarkannya sebagai titik akhir real time yang dapat digunakan untuk permintaan inferensi.
Untuk tutorial secara menyeluruh yang menunjukkan bagaimana model dibuat, dikelola, dan digunakan, lihat Melatih model klasifikasi gambar dengan data MNIST dan scikit-learn menggunakan Azure Machine Learning.
Konstruktor model.
Konstruktor Model digunakan untuk mengambil representasi cloud dari objek Model yang terkait dengan ruang kerja yang disediakan. Harus memberikan nama atau ID.
- Warisan
-
builtins.objectModel
Konstruktor
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parameter
- name
- str
Nama model yang akan diambil. Model terbaru dengan nama yang ditentukan ditampilkan, jika ada.
- id
- str
ID model yang akan diambil. Model dengan ID yang ditentukan ditampilkan, jika ada.
- tags
- list
Daftar tag opsional yang digunakan untuk memfilter hasil yang ditampilkan. Hasil difilter berdasarkan daftar yang disediakan, mencari dengan 'kunci' atau '[kunci, nilai]'. Contoh ['key', ['key2', 'key2 value']]
- properties
- list
Daftar properti opsional yang digunakan untuk memfilter hasil yang ditampilkan. Hasil difilter berdasarkan daftar yang disediakan, mencari dengan 'kunci' atau '[kunci, nilai]'. Contoh ['key', ['key2', 'key2 value']]
- version
- int
Versi model yang akan ditampilkan. Saat diberikan bersama dengan parameter name
, versi spesifik dari model bernama yang ditentukan akan ditampilkan, jika ada. Jika version
dihilangkan, versi model terbaru akan ditampilkan.
- model_framework
- str
Nama kerangka kerja opsional yang digunakan untuk memfilter hasil yang ditampilkan. Jika ditentukan, hasil untuk model yang cocok dengan kerangka kerja yang ditentukan akan ditampilkan. Lihat Framework untuk nilai yang diizinkan.
- name
- str
Nama model yang akan diambil. Model terbaru dengan nama yang ditentukan ditampilkan, jika ada.
- id
- str
ID model yang akan diambil. Model dengan ID yang ditentukan ditampilkan, jika ada.
- tags
- list
Daftar tag opsional yang digunakan untuk memfilter hasil yang ditampilkan. Hasil difilter berdasarkan daftar yang disediakan, mencari dengan 'kunci' atau '[kunci, nilai]'. Contoh ['key', ['key2', 'key2 value']]
- properties
- list
Daftar properti opsional yang digunakan untuk memfilter hasil yang ditampilkan. Hasil difilter berdasarkan daftar yang disediakan, mencari dengan 'kunci' atau '[kunci, nilai]'. Contoh ['key', ['key2', 'key2 value']]
- version
- int
Versi model yang akan ditampilkan. Saat diberikan bersama dengan parameter name
, versi spesifik dari model bernama yang ditentukan akan ditampilkan, jika ada. Jika version
dihilangkan, versi model terbaru akan ditampilkan.
- model_framework
- str
Nama kerangka kerja opsional yang digunakan untuk memfilter hasil yang ditampilkan. Jika ditentukan, hasil untuk model yang cocok dengan kerangka kerja yang ditentukan akan ditampilkan. Lihat Framework untuk nilai yang diizinkan.
- expand
- bool
Jika true, akan menampilkan model dengan semua subproperti yang terisi misalnya eksekusi, himpunan data, dan eksperimen.
Keterangan
Konstruktor Model digunakan untuk mengambil representasi cloud dari objek Model yang terkait dengan ruang kerja yang ditentukan. Setidaknya nama atau ID harus disediakan untuk mengambil model, tetapi ada juga opsi lain untuk memfilter termasuk dengan tag, properti, versi, ID eksekusi, dan kerangka kerja.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
Sampel berikut menunjukkan cara mengambil versi model tertentu.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
Mendaftarkan model adalah kontainer logis untuk satu atau beberapa file yang membentuk model Anda. Selain konten file model itu sendiri, model terdaftar juga menyimpan metadata model, termasuk deskripsi model, tag, dan informasi kerangka kerja, yang berguna saat mengelola dan menyebarkan model di ruang kerja Anda. Misalnya, dengan tag Anda dapat mengategorikan model dan menerapkan filter saat mencantumkan model di ruang kerja. Setelah pendaftaran, Anda kemudian dapat mengunduh atau menyebarkan model terdaftar, serta menerima semua file dan metadata yang terdaftar.
Sampel berikut menunjukkan cara mendaftarkan model yang menentukan tag dan deskripsi.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Contoh berikut menunjukkan cara mendaftarkan model yang menentukan kerangka kerja, set data input dan output, dan konfigurasi sumber daya.
import sklearn
from azureml.core import Model
from azureml.core.resource_configuration import ResourceConfiguration
model = Model.register(workspace=ws,
model_name='my-sklearn-model', # Name of the registered model in your workspace.
model_path='./sklearn_regression_model.pkl', # Local file to upload and register as a model.
model_framework=Model.Framework.SCIKITLEARN, # Framework used to create the model.
model_framework_version=sklearn.__version__, # Version of scikit-learn used to create the model.
sample_input_dataset=input_dataset,
sample_output_dataset=output_dataset,
resource_configuration=ResourceConfiguration(cpu=1, memory_in_gb=0.5),
description='Ridge regression model to predict diabetes progression.',
tags={'area': 'diabetes', 'type': 'regression'})
print('Name:', model.name)
print('Version:', model.version)
Bagian Variabel mencantumkan atribut representasi lokal objek Model cloud. Variabel ini harus dianggap baca-saja. Mengubah nilainya tidak akan tercermin dalam objek cloud yang sesuai.
Variabel
- created_by
- dict
Pengguna yang membuat Model.
- created_time
- datetime
Kapan Model dibuat.
- azureml.core.Model.description
Deskripsi objek Model.
- azureml.core.Model.id
ID Model. ID Model ini dalam bentuk <nama model>:<versi model>.
- mime_type
- str
Jenis mime Model.
- azureml.core.Model.name
Nama Model.
- model_framework
- str
Kerangka kerja Model.
- model_framework_version
- str
Versi kerangka kerja Model.
- azureml.core.Model.tags
Kamus tag untuk objek Model.
- azureml.core.Model.properties
Kamus properti nilai kunci untuk Model. Properti ini tidak dapat diubah setelah pendaftaran, namun pasangan nilai kunci baru dapat ditambahkan.
- unpack
- bool
Apakah Model perlu dibongkar (tanpa tar) saat ditarik ke konteks lokal.
- url
- str
Lokasi url Model.
- azureml.core.Model.version
Versi Model.
- azureml.core.Model.workspace
Ruang Kerja yang berisi Model.
- azureml.core.Model.experiment_name
Nama Eksperimen yang membuat Model.
- azureml.core.Model.run_id
ID Eksekusi yang membuat Model.
- parent_id
- str
ID Model induk dari Model.
- resource_configuration
- ResourceConfiguration
ResourceConfiguration untuk Model ini. Digunakan untuk pembuatan profil.
Metode
add_dataset_references |
Mengaitkan himpunan data yang disediakan dengan Model ini. |
add_properties |
Menambahkan pasangan nilai kunci ke kamus properti model ini. |
add_tags |
Menambahkan pasangan nilai kunci ke kamus tag model ini. |
delete |
Menghapus model ini dari ruang kerjanya yang terkait. |
deploy |
Sebarkan Layanan web dari nol atau beberapa objek Model. Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Fungsi Model |
deserialize |
Mengonversi objek JSON menjadi objek model. Konversi akan gagal jika ruang kerja yang ditentukan bukan ruang kerja yang digunakan untuk mendaftarkan model. |
download |
Mengunduh model untuk menargetkan direktori sistem file lokal. |
get_model_path |
Menampilkan jalur ke model. Fungsi akan mencari model di lokasi berikut. Jika
Jika
|
get_sas_urls |
Menampilkan kamus pasangan nilai kunci yang berisi nama file dan URL SAS yang sesuai. |
list |
Mengambil daftar semua model yang terkait dengan ruang kerja yang disediakan, dengan filter opsional. |
package |
Buat paket model dalam benti gambar Docker atau konteks build Dockerfile. |
print_configuration |
Cetak konfigurasi pengguna. |
profile |
Buat profil model untuk mendapatkan rekomendasi persyaratan sumber daya. Ini adalah operasi jangka panjang yang dapat memerlukan waktu hingga 25 menit tergantung ukuran himpunan data. |
register |
Mendaftarkan model dengan ruang kerja yang disediakan. |
remove_tags |
Menghapus kunci yang ditentukan dari kamus tag model ini. |
serialize |
Mengonversi Model ini menjadi kamus serial json. |
update |
Melakukan pembaruan model di tempat. Nilai parameter tertentu yang ada diganti. |
update_tags_properties |
Melakukan pembaruan tag dan properti model. |
add_dataset_references
Mengaitkan himpunan data yang disediakan dengan Model ini.
add_dataset_references(datasets)
Parameter
- datasets
- list[tuple(<xref:str :> (Dataset atau DatasetSnapshot))]
Daftar tuple yang mewakili pasangan tujuan himpunan data ke objek Himpunan Data.
Pengecualian
add_properties
Menambahkan pasangan nilai kunci ke kamus properti model ini.
add_properties(properties)
Parameter
Pengecualian
add_tags
Menambahkan pasangan nilai kunci ke kamus tag model ini.
add_tags(tags)
Parameter
Pengecualian
delete
deploy
Sebarkan Layanan web dari nol atau beberapa objek Model.
Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Fungsi Model deploy
mirip dengan fungsi deploy
kelas Webservice, tetapi tidak mendaftarkan model. Gunakan fungsi Model deploy
jika Anda memiliki objek model yang sudah terdaftar.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parameter
- name
- str
Nama untuk memberikan layanan yang disebarkan. Harus bersifat unik bagi ruang kerja, hanya terdiri dari huruf kecil, angka, atau tanda hubung, dimulai dengan huruf, dan panjangnya antara 3 dan 32 karakter.
- inference_config
- InferenceConfig
Objek InferenceConfig yang digunakan untuk menentukan properti model yang diperlukan.
- deployment_config
- WebserviceDeploymentConfiguration
WebserviceDeploymentConfiguration yang digunakan untuk mengonfigurasi layanan web. Jika tidak tersedia, objek konfigurasi kosong akan digunakan berdasarkan target yang diinginkan.
- deployment_target
- ComputeTarget
ComputeTarget yang akan menjadi tempat penyebaran Layanan web. Karena Azure Container Instances tidak memiliki ComputeTarget terkait, biarkan parameter ini sebagai Tidak ada untuk disebarkan ke Azure Container Instances.
- overwrite
- bool
Menunjukkan apakah akan menimpa layanan yang ada jika layanan dengan nama yang ditentukan sudah ada.
- show_output
- bool
Menunjukkan apakah akan menampilkan kemajuan penyebaran layanan.
Mengembalikan
Objek Layanan web yang sesuai dengan layanan web yang disebarkan.
Tipe hasil
Pengecualian
deserialize
Mengonversi objek JSON menjadi objek model.
Konversi akan gagal jika ruang kerja yang ditentukan bukan ruang kerja yang digunakan untuk mendaftarkan model.
static deserialize(workspace, model_payload)
Parameter
Mengembalikan
Representasi Model dari objek JSON yang disediakan.
Tipe hasil
Pengecualian
download
Mengunduh model untuk menargetkan direktori sistem file lokal.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parameter
- exist_ok
- bool
Menunjukkan apakah akan mengganti dir/file yang diunduh jika ada. Default ke False.
Mengembalikan
Jalur ke file atau folder model.
Tipe hasil
Pengecualian
get_model_path
Menampilkan jalur ke model.
Fungsi akan mencari model di lokasi berikut.
Jika version
Tidak Ada:
- Unduh dari jarak jauh ke cache (jika ruang kerja disediakan)
- Muat dari cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Jika version
bukan Tidak Ada:
- Muat dari cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
- Unduh dari jarak jauh ke cache (jika ruang kerja disediakan)
static get_model_path(model_name, version=None, _workspace=None)
Parameter
- _workspace
- Workspace
Ruang kerja tempat mengambil model. Tidak dapat menggunakan dari jarak jauh. Jika tidak ditentukan, hanya cache lokal yang ditelusuri.
Mengembalikan
Jalur pada disk ke model.
Tipe hasil
Pengecualian
get_sas_urls
Menampilkan kamus pasangan nilai kunci yang berisi nama file dan URL SAS yang sesuai.
get_sas_urls()
Mengembalikan
Kamus pasangan kunci-nilai yang berisi nama file dan URL SAS yang sesuai
Tipe hasil
Pengecualian
list
Mengambil daftar semua model yang terkait dengan ruang kerja yang disediakan, dengan filter opsional.
static list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False, dataset_id=None, expand=True, page_count=255, model_framework=None)
Parameter
- name
- str
Jika disediakan, hanya akan menampilkan model dengan nama yang ditentukan, jika ada.
- tags
- list
Akan memfilter berdasarkan daftar yang disediakan, baik dengan 'kunci' atau '[kunci, nilai]'. Contoh ['key', ['key2', 'key2 value']]
- properties
- list
Akan memfilter berdasarkan daftar yang disediakan, baik dengan 'kunci' atau '[key, value]'. Contoh ['key', ['key2', 'key2 value']]
- expand
- bool
Jika true, akan menampilkan model dengan semua subproperti yang terisi misalnya eksekusi, himpunan data, dan eksperimen. Mengaturnya ke false akan mempercepat penyelesaian metode list() jika ada banyak model.
- page_count
- int
Jumlah item yang harus diambil dalam halaman. Saat ini nilai yang didukung hingga 255. Defaultnya diatur ke 255.
- model_framework
- str
Jika disediakan, hanya akan menampilkan model dengan kerangka kerja yang ditentukan, jika ada.
Mengembalikan
Daftar model, difilter secara opsional.
Tipe hasil
Pengecualian
package
Buat paket model dalam benti gambar Docker atau konteks build Dockerfile.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parameter
Daftar objek Model yang akan disertakan dalam paket. Bisa berupa daftar kosong.
- inference_config
- InferenceConfig
Objek InferenceConfig untuk mengonfigurasi pengoperasian model. Ini harus menyertakan objek Lingkungan.
- generate_dockerfile
- bool
Apakah akan membuat Dockerfile yang dapat dijalankan secara lokal alih-alih membangun gambar.
Mengembalikan
Objek ModelPackage.
Tipe hasil
Pengecualian
print_configuration
Cetak konfigurasi pengguna.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parameter
- inference_config
- InferenceConfig
Objek InferenceConfig yang digunakan untuk menentukan properti model yang diperlukan.
- deployment_config
- WebserviceDeploymentConfiguration
WebserviceDeploymentConfiguration yang digunakan untuk mengonfigurasi layanan web.
Pengecualian
profile
Buat profil model untuk mendapatkan rekomendasi persyaratan sumber daya.
Ini adalah operasi jangka panjang yang dapat memerlukan waktu hingga 25 menit tergantung ukuran himpunan data.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parameter
- inference_config
- InferenceConfig
Objek InferenceConfig yang digunakan untuk menentukan properti model yang diperlukan.
- input_dataset
- Dataset
Himpunan data input untuk pembuatan profil. Himpunan data input harus memiliki satu kolom dan input sampel harus dalam format string.
- cpu
- float
Jumlah inti cpu yang digunakan pada instans pengujian terbesar. Saat ini nilai yang didukung hingga 3.5.
- memory_in_gb
- float
Jumlah memori (dalam GB) untuk digunakan pada instans pengujian terbesar. Bisa berupa desimal. Saat ini nilai yang didukung hingga 15.0.
Tipe hasil
Pengecualian
register
Mendaftarkan model dengan ruang kerja yang disediakan.
static register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parameter
- model_path
- str
Jalur pada sistem file lokal tempat aset model berada. Jalur dapat berupa pointer langsung ke satu file atau folder. Jika menunjuk ke folder, parameter child_paths
dapat digunakan untuk menentukan file individu yang akan dibundel bersama sebagai objek Model, berbeda dengan menggunakan seluruh isi folder.
- tags
- dict(<xref:{str : str}>)
Kamus opsional tag nilai kunci yang akan ditetapkan ke model.
- properties
- dict(<xref:{str : str}>)
Kamus opsional properti nilai kunci yang akan ditetapkan ke model. Properti ini tidak dapat diubah setelah pembuatan model, namun pasangan nilai kunci baru dapat ditambahkan.
- datasets
- list[(str, AbstractDataset)]
Daftar tupel di mana elemen pertama menggambarkan hubungan himpunan data-model dan elemen kedua adalah himpunan data.
- model_framework
- str
Kerangka kerja dari model yang terdaftar. Menggunakan konstanta yang didukung sistem dari kelas Framework memungkinkan penyebaran yang disederhanakan untuk beberapa kerangka kerja populer.
Jika disediakan bersamaan dengan model_path
ke suatu folder, hanya file yang ditentukan yang akan dibundel ke dalam objek Model.
- sample_input_dataset
- AbstractDataset
Himpunan data input sampel untuk model terdaftar.
- sample_output_dataset
- AbstractDataset
Himpunan data output sampel untuk model terdaftar.
- resource_configuration
- ResourceConfiguration
Konfigurasi sumber daya untuk menjalankan model terdaftar.
Mengembalikan
Objek model terdaftar.
Tipe hasil
Pengecualian
Keterangan
Selain konten file model itu sendiri, model terdaftar juga menyimpan metadata model, termasuk deskripsi model, tag, dan informasi kerangka kerja, yang berguna saat mengelola dan menyebarkan model di ruang kerja Anda. Misalnya, dengan tag Anda dapat mengategorikan model dan menerapkan filter saat mencantumkan model di ruang kerja.
Sampel berikut menunjukkan cara mendaftarkan model yang menentukan tag dan deskripsi.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Jika Anda memiliki model yang dihasilkan sebagai hasil eksekusi eksperimen, Anda dapat mendaftarkannya dari objek eksekusi secara langsung tanpa mengunduhnya ke file lokal terlebih dahulu. Untuk melakukan itu gunakan metode register_model seperti yang didokumentasikan di kelas Run.
remove_tags
Menghapus kunci yang ditentukan dari kamus tag model ini.
remove_tags(tags)
Parameter
Pengecualian
serialize
Mengonversi Model ini menjadi kamus serial json.
serialize()
Mengembalikan
Representasi json dari Model ini
Tipe hasil
Pengecualian
update
Melakukan pembaruan model di tempat.
Nilai parameter tertentu yang ada diganti.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parameter
- tags
- dict(<xref:{str : str}>)
Kamus tag untuk memperbarui model. Tag ini menggantikan tag yang ada untuk model.
- description
- str
Deskripsi baru yang akan digunakan untuk model. Nama ini akan menggantikan nama yang sudah ada.
- sample_input_dataset
- AbstractDataset
Himpunan data input sampel yang akan digunakan untuk model terdaftar. Himpunan data input sampel ini menggantikan himpunan data yang ada.
- sample_output_dataset
- AbstractDataset
Himpunan data output sampel yang akan digunakan untuk model terdaftar. Himpunan data output sampel ini menggantikan himpunan data yang ada.
- resource_configuration
- ResourceConfiguration
Konfigurasi sumber daya yang akan digunakan untuk menjalankan model terdaftar.
Pengecualian
update_tags_properties
Melakukan pembaruan tag dan properti model.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parameter
Pengecualian
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