Model Sınıf
Makine öğrenmesi eğitiminin sonucunu temsil eder.
Model, Azure machine learning eğitimi Run veya Azure dışındaki başka bir model eğitim sürecinin sonucudur. Modelin nasıl üretildiğine bakılmaksızın, bir ad ve sürümle temsil edildiği bir çalışma alanına kaydedilebilir. Model sınıfıyla, Modelleri Docker ile kullanmak üzere paketleyebilir ve bunları çıkarım istekleri için kullanılabilecek gerçek zamanlı bir uç nokta olarak dağıtabilirsiniz.
Modellerin nasıl oluşturulduğunu, yönetildiğini ve tüketildiğini gösteren uçtan uca öğretici için bkz. Azure Machine Learning kullanarak MNIST verileri ve scikit-learn ile görüntü sınıflandırma modelini eğitin.
Model oluşturucu.
Model oluşturucu, sağlanan çalışma alanıyla ilişkili bir Model nesnesinin bulut gösterimini almak için kullanılır. Ad veya kimlik belirtilmelidir.
- Devralma
-
builtins.objectModel
Oluşturucu
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parametreler
- name
- str
Alınacak modelin adı. Belirtilen ada sahip en son model varsa döndürülür.
- id
- str
Alınacak modelin kimliği. Belirtilen kimliği içeren model varsa döndürülür.
- tags
- list
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı bir etiket listesi. Sonuçlar, sağlanan listeye göre filtrelenir ve 'key' veya '[key, value]' tarafından aranılır. Örn. ['key', ['key2', 'key2 value']]
- properties
- list
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı bir özellik listesi. Sonuçlar, sağlanan listeye göre filtrelenir ve 'key' veya '[key, value]' tarafından aranılır. Örn. ['key', ['key2', 'key2 value']]
- version
- int
Döndürülecek model sürümü. parametresiyle name
birlikte sağlandığında, belirtilen adlandırılmış modelin belirli sürümü (varsa) döndürülür. Atlanırsa version
, modelin en son sürümü döndürülür.
- run_id
- str
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı kimlik.
- model_framework
- str
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı çerçeve adı. Belirtilirse, belirtilen çerçeveyle eşleşen modeller için sonuçlar döndürülür. İzin verilen değerler için bkz Framework .
- tags
- list
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı bir etiket listesi. Sonuçlar, sağlanan listeye göre filtrelenir ve 'key' veya '[key, value]' tarafından aranılır. Örn. ['key', ['key2', 'key2 value']]
- properties
- list
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı bir özellik listesi. Sonuçlar, sağlanan listeye göre filtrelenir ve 'key' veya '[key, value]' tarafından aranılır. Örn. ['key', ['key2', 'key2 value']]
- version
- int
Döndürülecek model sürümü. parametresiyle name
birlikte sağlandığında, belirtilen adlandırılmış modelin belirli sürümü (varsa) döndürülür. Atlanırsa version
, modelin en son sürümü döndürülür.
- model_framework
- str
Döndürülen sonuçları filtrelemek için kullanılan isteğe bağlı çerçeve adı. Belirtilirse, belirtilen çerçeveyle eşleşen modeller için sonuçlar döndürülür. İzin verilen değerler için bkz Framework .
- expand
- bool
True ise çalıştırma, veri kümesi ve deneme gibi tüm alt özelliklerin doldurulacağı modelleri döndürür.
Açıklamalar
Model oluşturucu, belirtilen çalışma alanıyla ilişkili bir Model nesnesinin bulut gösterimini almak için kullanılır. Modelleri almak için en azından ad veya kimlik sağlanmalıdır, ancak etiketlere, özelliklere, sürüme, çalıştırma kimliğine ve çerçeveye göre filtreleme için başka seçenekler de vardır.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
Aşağıdaki örnekte modelin belirli bir sürümünün nasıl getirilmeye devam olduğu gösterilmektedir.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
Modeli kaydetmek, modelinizi oluşturan bir veya daha fazla dosya için mantıksal bir kapsayıcı oluşturur. Kayıtlı model, model dosyasının içeriğine ek olarak, modeli çalışma alanınızda yönetirken ve dağıtırken yararlı olan model açıklaması, etiketler ve çerçeve bilgileri de dahil olmak üzere model meta verilerini de depolar. Örneğin, etiketlerle çalışma alanınızdaki modelleri listelerken modellerinizi kategorilere ayırabilir ve filtreler uygulayabilirsiniz. Kayıt sonrasında kayıtlı modeli indirebilir veya dağıtabilir ve kayıtlı olan tüm dosyaları ve meta verileri alabilirsiniz.
Aşağıdaki örnek, etiketleri ve açıklamayı belirten bir modelin nasıl kaydedileceğini gösterir.
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)
Tam örnek şu kaynaktan edinilebilir: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Aşağıdaki örnekte çerçeveyi, giriş ve çıkış veri kümelerini ve kaynak yapılandırmasını belirten bir modelin nasıl kaydedileceğini gösterilmektedir.
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)
Değişkenler bölümünde bulut Modeli nesnesinin yerel gösteriminin öznitelikleri listelenir. Bu değişkenler salt okunur olarak kabul edilmelidir. Değerlerinin değiştirilmesi ilgili bulut nesnesine yansıtılmaz.
Değişkenler
- created_by
- dict
Modeli oluşturan kullanıcı.
- created_time
- datetime
Model oluşturulduğunda.
- azureml.core.Model.description
Model nesnesinin açıklaması.
- azureml.core.Model.id
Model Kimliği. Bu, model adı>:<model sürümü> biçimini <alır.
- mime_type
- str
Model mime türü.
- azureml.core.Model.name
Modelin adı.
- model_framework
- str
Modelin çerçevesi.
- model_framework_version
- str
Modelin çerçeve sürümü.
- azureml.core.Model.tags
Model nesnesi için etiket sözlüğü.
- azureml.core.Model.properties
Model için anahtar değeri özellikleri sözlüğü. Bu özellikler kayıt sonrasında değiştirilemez, ancak yeni anahtar değer çiftleri eklenebilir.
- unpack
- bool
Modelin yerel bir bağlama çekildiğinde paketten çıkarılıp çıkarılmaması (imzasız) gerekip gerekmediği.
- url
- str
Modelin url konumu.
- azureml.core.Model.version
Modelin sürümü.
- azureml.core.Model.workspace
Modeli içeren Çalışma Alanı.
- azureml.core.Model.experiment_name
Modeli oluşturan Denemenin adı.
- azureml.core.Model.run_id
Modeli oluşturan Çalıştırma kimliği.
- parent_id
- str
Modelin üst Modelinin kimliği.
- resource_configuration
- ResourceConfiguration
Bu Model için ResourceConfiguration. Profil oluşturma için kullanılır.
Yöntemler
add_dataset_references |
Sağlanan veri kümelerini bu Modelle ilişkilendirin. |
add_properties |
Bu modelin özellikler sözlüğüne anahtar değer çiftleri ekleyin. |
add_tags |
Bu modelin etiketler sözlüğüne anahtar değer çiftleri ekleyin. |
delete |
Bu modeli ilişkili çalışma alanından silin. |
deploy |
Sıfır veya daha fazla Model nesneden Web hizmeti dağıtın. Sonuçta elde edilen Web hizmeti, çıkarım istekleri için kullanılabilecek gerçek zamanlı bir uç noktadır. Model |
deserialize |
JSON nesnesini model nesnesine dönüştürme. Belirtilen çalışma alanı modelin kayıtlı olduğu çalışma alanı değilse dönüştürme başarısız olur. |
download |
Modeli yerel dosya sisteminin hedef dizinine indirin. |
get_model_path |
Modelin yolunu döndürür. işlevi modeli aşağıdaki konumlarda arar. Hiçbiri ise
Hiçbiri
|
get_sas_urls |
Dosya adlarını ve buna karşılık gelen SAS URL'lerini içeren anahtar-değer çiftlerinden oluşan bir sözlük döndürür. |
list |
Sağlanan çalışma alanıyla ilişkili tüm modellerin listesini isteğe bağlı filtrelerle alın. |
package |
Docker görüntüsü veya Dockerfile derleme bağlamı biçiminde bir model paketi oluşturun. |
print_configuration |
Kullanıcı yapılandırmasını yazdırın. |
profile |
Kaynak gereksinimi önerilerini almak için modelin profilini oluşturur. Bu, veri kümesinin boyutuna bağlı olarak 25 dakika kadar sürebilen uzun süre çalışan bir işlemdir. |
register |
Sağlanan çalışma alanına bir model kaydedin. |
remove_tags |
Belirtilen anahtarları bu modelin etiket sözlüğünden kaldırın. |
serialize |
Bu Modeli json serileştirilmiş sözlüğe dönüştürün. |
update |
Modelin yerinde güncelleştirmesini gerçekleştirin. Belirtilen parametrelerin mevcut değerleri değiştirilir. |
update_tags_properties |
Modelin etiketlerini ve özelliklerini güncelleştirin. |
add_dataset_references
Sağlanan veri kümelerini bu Modelle ilişkilendirin.
add_dataset_references(datasets)
Parametreler
- datasets
- list[tuple(<xref:str :> (Dataset veya DatasetSnapshot))]
Veri kümesi amacını Dataset nesnesiyle eşleştirmeyi temsil eden tanımlama kümeleri listesi.
Özel durumlar
add_properties
Bu modelin özellikler sözlüğüne anahtar değer çiftleri ekleyin.
add_properties(properties)
Parametreler
Özel durumlar
add_tags
Bu modelin etiketler sözlüğüne anahtar değer çiftleri ekleyin.
add_tags(tags)
Parametreler
Özel durumlar
delete
deploy
Sıfır veya daha fazla Model nesneden Web hizmeti dağıtın.
Sonuçta elde edilen Web hizmeti, çıkarım istekleri için kullanılabilecek gerçek zamanlı bir uç noktadır. Model deploy
işlevi sınıfın işlevine deploy
Webservice benzer, ancak modelleri kaydetmez. Zaten kayıtlı model nesneleriniz varsa Model deploy
işlevini kullanın.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parametreler
- name
- str
Dağıtılan hizmeti vermek için gereken ad. Çalışma alanına özgü olmalıdır, yalnızca küçük harflerden, sayılardan veya kısa çizgilerden oluşmalıdır, bir harfle başlamalıdır ve 3 ile 32 karakter uzunluğunda olmalıdır.
- inference_config
- InferenceConfig
Gerekli model özelliklerini belirlemek için kullanılan bir InferenceConfig nesnesi.
- deployment_config
- WebserviceDeploymentConfiguration
Web hizmetini yapılandırmak için kullanılan bir WebserviceDeploymentConfiguration. Sağlanmazsa, istenen hedefe göre boş bir yapılandırma nesnesi kullanılır.
- deployment_target
- ComputeTarget
Web hizmetini dağıtmak için A ComputeTarget . Azure Container Instances ilişkili ComputeTargetolmadığından, Azure Container Instances dağıtmak için bu parametreyi Yok olarak bırakın.
- overwrite
- bool
Belirtilen ada sahip bir hizmet zaten varsa mevcut hizmetin üzerine yazıp yazılmayacağını gösterir.
- show_output
- bool
Hizmet dağıtımının ilerleme durumunun görüntülenip görüntülenmeyeceğini gösterir.
Döndürülenler
Dağıtılan web hizmetiyle ilgili bir Web hizmeti nesnesi.
Dönüş türü
Özel durumlar
deserialize
JSON nesnesini model nesnesine dönüştürme.
Belirtilen çalışma alanı modelin kayıtlı olduğu çalışma alanı değilse dönüştürme başarısız olur.
static deserialize(workspace, model_payload)
Parametreler
Döndürülenler
Sağlanan JSON nesnesinin Model gösterimi.
Dönüş türü
Özel durumlar
download
Modeli yerel dosya sisteminin hedef dizinine indirin.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parametreler
- exist_ok
- bool
İndirilen dir/dosyaların varsa değiştirilip değiştirilmeyeceğini gösterir. Varsayılan değer False'tur.
Döndürülenler
Modelin dosya veya klasörünün yolu.
Dönüş türü
Özel durumlar
get_model_path
Modelin yolunu döndürür.
işlevi modeli aşağıdaki konumlarda arar.
Hiçbiri ise version
:
- Uzaktan önbelleğe indirme (çalışma alanı sağlanmışsa)
- önbellekten yükleme azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Hiçbiri version
değilse:
- azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/ önbelleğinden yükleme
- Uzaktan önbelleğe indirme (çalışma alanı sağlanmışsa)
static get_model_path(model_name, version=None, _workspace=None)
Parametreler
- version
- int
Alınacak modelin sürümü. Varsayılan olarak en son sürümü kullanır.
- _workspace
- Workspace
Modelin alın olduğu çalışma alanı. Uzaktan kullanılamaz. Belirtilmezse yalnızca yerel önbellek aranır.
Döndürülenler
Diskte modelin yolu.
Dönüş türü
Özel durumlar
get_sas_urls
Dosya adlarını ve buna karşılık gelen SAS URL'lerini içeren anahtar-değer çiftlerinden oluşan bir sözlük döndürür.
get_sas_urls()
Döndürülenler
Dosya adlarını ve ilgili SAS URL'lerini içeren anahtar-değer çiftlerinin sözlüğü
Dönüş türü
Özel durumlar
list
Sağlanan çalışma alanıyla ilişkili tüm modellerin listesini isteğe bağlı filtrelerle alın.
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)
Parametreler
- name
- str
Sağlanırsa, yalnızca belirtilen ada sahip modelleri (varsa) döndürür.
- tags
- list
Sağlanan listeye göre ,'key' veya '[key, value]' ile filtrelenir. Örn. ['key', ['key2', 'key2 value']]
- properties
- list
Sağlanan listeye göre ,'key' veya '[key, value]' ile filtrelenir. Örn. ['key', ['key2', 'key2 value']]
- expand
- bool
True ise çalıştırma, veri kümesi ve deneme gibi tüm alt özelliklerin doldurulacağı modelleri döndürür. Bunu false olarak ayarlamak, birçok model olması durumunda list() yönteminin tamamlanmasını hızlandırmalıdır.
- page_count
- int
Bir sayfada alınacak öğe sayısı. Şu anda 255'e kadar olan değerleri desteklemektedir. Varsayılan değer 255'tir.
- model_framework
- str
Sağlanırsa, yalnızca varsa belirtilen çerçeveye sahip modelleri döndürür.
Döndürülenler
İsteğe bağlı olarak filtrelenmiş modellerin listesi.
Dönüş türü
Özel durumlar
package
Docker görüntüsü veya Dockerfile derleme bağlamı biçiminde bir model paketi oluşturun.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parametreler
- inference_config
- InferenceConfig
Modellerin işlemini yapılandırmak için bir InferenceConfig nesnesi. Bu bir Ortam nesnesi içermelidir.
- generate_dockerfile
- bool
Görüntü oluşturmak yerine yerel olarak çalıştırılacak bir Dockerfile oluşturulup oluşturulmayacağı.
- image_label
- str
Görüntü oluştururken, sonuçta elde edilen görüntünün etiketi.
Döndürülenler
ModelPackage nesnesi.
Dönüş türü
Özel durumlar
print_configuration
Kullanıcı yapılandırmasını yazdırın.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parametreler
- inference_config
- InferenceConfig
Gerekli model özelliklerini belirlemek için kullanılan bir InferenceConfig nesnesi.
- deployment_config
- WebserviceDeploymentConfiguration
Web hizmetini yapılandırmak için kullanılan bir WebserviceDeploymentConfiguration.
Özel durumlar
profile
Kaynak gereksinimi önerilerini almak için modelin profilini oluşturur.
Bu, veri kümesinin boyutuna bağlı olarak 25 dakika kadar sürebilen uzun süre çalışan bir işlemdir.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parametreler
- inference_config
- InferenceConfig
Gerekli model özelliklerini belirlemek için kullanılan bir InferenceConfig nesnesi.
- input_dataset
- Dataset
Profil oluşturma için giriş veri kümesi. Giriş veri kümesinin tek bir sütunu olmalı ve örnek girişler dize biçiminde olmalıdır.
- cpu
- float
En büyük test örneğinde kullanılacak cpu çekirdeği sayısı. Şu anda 3,5'e kadar olan değerleri desteklemektedir.
- memory_in_gb
- float
En büyük test örneğinde kullanılacak bellek miktarı (GB cinsinden). Ondalık olabilir. Şu anda 15.0'a kadar olan değerleri desteklemektedir.
- description
- str
Profil oluşturma çalıştırmasıyla ilişkilendirilecek açıklama.
Dönüş türü
Özel durumlar
register
Sağlanan çalışma alanına bir model kaydedin.
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)
Parametreler
- model_path
- str
Model varlıklarının bulunduğu yerel dosya sistemindeki yol. Bu, tek bir dosya veya klasörün doğrudan işaretçisi olabilir. Bir klasöre işaret ediyorsanız parametresi, child_paths
klasörün tüm içeriğinin kullanılması yerine Model nesnesi olarak birlikte paketlenecek tek tek dosyaları belirtmek için kullanılabilir.
- tags
- dict(<xref:{str : str}>)
Modele atanacak anahtar değer etiketlerinin isteğe bağlı sözlüğü.
- properties
- dict(<xref:{str : str}>)
Modele atanacak anahtar değeri özelliklerinin isteğe bağlı sözlüğü. Model oluşturulduktan sonra bu özellikler değiştirilemez, ancak yeni anahtar değer çiftleri eklenebilir.
- datasets
- list[(str, AbstractDataset)]
İlk öğenin veri kümesi modeli ilişkisini, ikinci öğenin ise veri kümesi olduğu tanımlama grubu listesi.
- model_framework
- str
Kayıtlı modelin çerçevesi. sınıfından sistem tarafından desteklenen sabitlerin kullanılması, bazı popüler çerçeveler Framework için basitleştirilmiş dağıtıma olanak tanır.
Bir klasöre ile model_path
birlikte sağlanırsa, yalnızca belirtilen dosyalar Model nesnesine paketlenir.
- sample_input_dataset
- AbstractDataset
Kayıtlı model için örnek giriş veri kümesi.
- sample_output_dataset
- AbstractDataset
Kayıtlı model için örnek çıkış veri kümesi.
- resource_configuration
- ResourceConfiguration
Kayıtlı modeli çalıştırmak için bir kaynak yapılandırması.
Döndürülenler
Kayıtlı model nesnesi.
Dönüş türü
Özel durumlar
Açıklamalar
Kayıtlı model, model dosyasının içeriğine ek olarak, modeli çalışma alanınızda yönetirken ve dağıtırken yararlı olan model açıklaması, etiketler ve çerçeve bilgileri de dahil olmak üzere model meta verilerini de depolar. Örneğin, etiketlerle çalışma alanınızdaki modelleri listelerken modellerinizi kategorilere ayırabilir ve filtreler uygulayabilirsiniz.
Aşağıdaki örnek, etiketleri ve açıklamayı belirten bir modelin nasıl kaydedileceğini gösterir.
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)
Tam örnek şu kaynaktan edinilebilir: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Deneme çalıştırması sonucunda oluşturulmuş bir modeliniz varsa, önce yerel bir dosyaya indirmeden doğrudan bir çalıştırma nesnesinden kaydedebilirsiniz. Bunu yapmak için sınıfında belgelendiği Run gibi yöntemini kullanınregister_model.
remove_tags
Belirtilen anahtarları bu modelin etiket sözlüğünden kaldırın.
remove_tags(tags)
Parametreler
Özel durumlar
serialize
Bu Modeli json serileştirilmiş sözlüğe dönüştürün.
serialize()
Döndürülenler
Bu Modelin json gösterimi
Dönüş türü
Özel durumlar
update
Modelin yerinde güncelleştirmesini gerçekleştirin.
Belirtilen parametrelerin mevcut değerleri değiştirilir.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parametreler
- tags
- dict(<xref:{str : str}>)
Modelin güncelleştirilecek etiket sözlüğü. Bu etiketler model için mevcut etiketlerin yerini alır.
- description
- str
Model için kullanılacak yeni açıklama. Bu ad varolan adın yerini alır.
- sample_input_dataset
- AbstractDataset
Kayıtlı model için kullanılacak örnek giriş veri kümesi. Bu örnek giriş veri kümesi, mevcut veri kümesinin yerini alır.
- sample_output_dataset
- AbstractDataset
Kayıtlı model için kullanılacak örnek çıktı veri kümesi. Bu örnek çıktı veri kümesi, mevcut veri kümesinin yerini alır.
- resource_configuration
- ResourceConfiguration
Kayıtlı modeli çalıştırmak için kullanılacak kaynak yapılandırması.
Özel durumlar
update_tags_properties
Modelin etiketlerini ve özelliklerini güncelleştirin.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parametreler
Özel durumlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin