Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Python SDK azure-ai-ml v2 (geçerli)
Bu makalede, aşağıdakileri kullanarak Azure Machine Learning'de modelleri kaydetmeyi ve bunlarla çalışmayı öğreneceksiniz:
- Azure Machine Learning stüdyosu kullanıcı arabirimi.
- The Azure Machine Learning V2 CLI.
- Python Azure Machine Learning V2 SDK'sı.
Şunları yapmayı öğreneceksiniz:
- Yerel dosyalardan, veri depolarından veya iş çıkışlarından model kayıt defterinde kayıtlı modeller oluşturun.
- Özel, MLflow ve Triton gibi farklı model türleriyle çalışın.
- Modelleri eğitim işlerinde giriş veya çıkış olarak kullanın.
- Model varlıklarının yaşam döngüsünü yönetin.
Model kaydı
Model kaydı , modellerinizi Azure bulutundaki çalışma alanınızda depolamanıza ve sürüm oluşturmanıza olanak tanır. Model kayıt defteri, eğitilen modellerinizi düzenlemenize ve izlemenize yardımcı olur. Azure CLI, Python SDK veya Machine Learning studio kullanıcı arabirimini kullanarak modelleri Azure Machine Learning'de varlık olarak kaydedebilirsiniz.
Desteklenen yollar
Modeli kaydetmek için verilere veya iş konumuna işaret eden bir yol belirtin. Aşağıdaki tabloda Azure Machine Learning'in desteklediği çeşitli veri konumları ve parametresinin söz dizimi gösterilmektedir path :
| Konum | Sözdizimi |
|---|---|
| Yerel bilgisayar | <model-folder>/<model-filename> |
| Azure Machine Learning veri deposu | azureml://datastores/<datastore-name>/paths/<path_on_datastore> |
| Azure Machine Learning işi | azureml://jobs/<job-name>/outputs/<output-name>/paths/<path-to-model-relative-to-the-named-output-location> |
| MLflow işi | runs:/<run-id>/<path-to-model-relative-to-the-root-of-the-artifact-location> |
| Machine Learning çalışma alanında model varlığı | azureml:<model-name>:<version> |
| Machine Learning kayıt defterindeki model varlığı | azureml://registries/<registry-name>/models/<model-name>/versions/<version> |
Desteklenen modlar
Girişler veya çıkışlar için modelleri kullandığınızda aşağıdaki modlardan birini belirtin. Örneğin, modelin salt okunur olarak mı bağlanacağını yoksa işlem hedefine mi indirileceğini belirtin.
-
ro_mount: Verileri işlem hedefine salt okunur olarak bağlayın. -
rw_mount: Verileri okuma-yazma bağlama. -
download: Verileri işlem hedefine indirin. -
upload: İşlem hedefinden verileri karşıya yükleyin. -
direct: URI'yi dize olarak geçirin.
Aşağıdaki tabloda, farklı model türü giriş ve çıkışları için kullanılabilir mod seçenekleri gösterilmektedir.
| Tür | upload |
download |
ro_mount |
rw_mount |
direct |
|---|---|---|---|---|---|
custom dosya girişi |
|||||
custom klasör girişi |
✓ | ✓ | ✓ | ||
mlflow girdi |
✓ | ✓ | |||
custom dosya çıkışı |
✓ | ✓ | ✓ | ||
custom klasör çıktısı |
✓ | ✓ | ✓ | ||
mlflow çıktı |
✓ | ✓ | ✓ |
Önkoşullar
- Azure Machine Learning'in ücretsiz veya ücretli sürümüne sahip bir Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure Machine Learning çalışma alanı.
Bu makaledeki kod örneklerini çalıştırmak ve Azure Machine Learning V2 CLI veya Python Azure Machine Learning V2 SDK'sı ile çalışmak için şunlar da gerekir:
Azure CLI sürüm 2.38.0 veya üzeri yüklü.
Aşağıdaki komutu çalıştırarak yüklenen uzantının V2'sini
mlseçin. Daha fazla bilgi için bkz . CLI'yi (v2) yükleme, ayarlama ve kullanma.az extension add -n ml
Not
V2 tam geriye dönük uyumluluk sağlar. v1 SDK veya CLI'dan model varlıklarını kullanmaya devam edebilirsiniz. v1 CLI veya SDK ile kaydedilen tüm modellere türü customatanır.
Studio kullanıcı arabirimini kullanarak model kaydetme
Azure Machine Learning stüdyosu kullanıcı arabirimini kullanarak modeli kaydetmek için:
Stüdyodaki çalışma alanınızda sol gezinti bölmesinden Modeller'i seçin.
Model Listesi sayfasında Kaydet'i seçin ve açılan listeden aşağıdaki konumlardan birini seçin:
- Yerel dosyalardan
- İş çıkışından
- Veri deposundan
- Yerel dosyalardan (çerçeveye göre)
İlk Kayıt modeli ekranında:
- Modeliniz için yerel dosyaya, veri deposuna veya iş çıkışına gidin.
- Giriş modeli türünü seçin: MLflow, Triton veya Belirtilmeyen tür.
Model ayarları ekranında, kayıtlı modeliniz için bir ad ve diğer isteğe bağlı ayarları sağlayın ve İleri'yi seçin.
Gözden Geçir ekranında yapılandırmayı gözden geçirin ve kaydet'i seçin.
Azure CLI veya Python SDK'sını kullanarak model kaydetme
Aşağıdaki kod parçacıkları, Azure CLI veya Python SDK'sını kullanarak modelin Azure Machine Learning'de varlık olarak nasıl kaydedileceğini gösterir. Bu kod parçacıkları ve custom model türlerini kullanırmlflow.
-
customtür, Azure Machine Learning'in şu anda desteklemediği özel bir standartla eğitilen bir model dosyasına veya klasöre başvurur. -
mlflowtür, MLflow ile eğitilen bir modeli ifade eder. MLflow tarafından eğitilen modeller MLmodel dosyasını, model dosyasını, conda bağımlılıkları dosyasını ve requirements.txt dosyasını içeren bir klasörde bulunur.
İpucu
Azureml-examples deposunda model.ipynb not defterini çalıştırarak aşağıdaki örneklerin Python sürümleriyle birlikte izleyebilirsiniz.
Çalışma alanınıza bağlanma
Çalışma alanı, Azure Machine Learning için en üst düzey kaynaktır. Azure Machine Learning'i kullanırken oluşturduğunuz tüm yapıtlarla çalışmak için merkezi bir yer sağlar. Bu bölümde, kayıtlı modeli oluşturmak için Azure Machine Learning çalışma alanınıza bağlanacaksınız.
komutunu çalıştırarak
az loginve istemleri izleyerek Azure'da oturum açın.Aşağıdaki komutlarda ,
<subscription-id>,<workspace-name>ve<resource-group>yer tutucularını ortamınızın değerleriyle değiştirin<location>.az account set --subscription <subscription-id> az configure --defaults workspace=<workspace-name> group=<resource-group> location=<location>
Kayıtlı modeli oluşturma
Şu şekilde bir modelden kayıtlı bir model oluşturabilirsiniz:
- Yerel bilgisayarınızda bulunur.
- Azure Machine Learning veri deposunda bulunur.
- Azure Machine Learning işinden çıktı.
Yerel dosya veya klasör
YAML dosya <adı>.yml oluşturun. Dosyasında kayıtlı modeliniz için bir ad, yerel model dosyasının yolu ve bir açıklama girin. Örneğin:
$schema: https://azuremlschemas.azureedge.net/latest/model.schema.json name: local-file-example path: mlflow-model/model.pkl description: Model created from local file.YAML dosyanızın adını kullanarak aşağıdaki komutu çalıştırın:
az ml model create -f <file-name>.yml
Tam bir örnek için yaml modeline bakın.
Veri Deposu
Desteklenen URI biçimlerinden herhangi birini kullanarak bir bulut yolundan model oluşturabilirsiniz.
Aşağıdaki örnek, söz dizimini azuremlkullanarak veri deposundaki bir yola işaret etmek için kısaltma azureml://datastores/<datastore-name>/paths/<path_on_datastore> düzenini kullanır.
az ml model create --name my-model --version 1 --path azureml://datastores/myblobstore/paths/models/cifar10/cifar.pt
Tam bir örnek için bkz . CLI başvurusu.
İş çıktısı
Model verileriniz bir iş çıkışından geliyorsa, model yolunu belirtmek için iki seçeneğiniz vardır. MLflow runs: URI biçimini veya azureml://jobs URI biçimini kullanabilirsiniz.
Not
Yapıtlar ayrılmış anahtar sözcüğü varsayılan yapıt konumundan çıktıyı temsil eder.
MLflow çalıştırmaları: URI biçimi
Bu seçenek, büyük olasılıkla MLflow URI biçimini zaten bilen MLflow
runs:kullanıcıları için en iyi şekilde çalışır. Varsayılan yapıt konumundaki yapıtlardan, MLflow tarafından günlüğe kaydedilen tüm modeller ve yapıtların olduğu yerde, bir model oluşturur. Bu seçenek ayrıca kayıtlı bir model ile modelin geldiği çalıştırma arasında bir köken oluşturur.Biçim:
runs:/<run-id>/<path-to-model-relative-to-the-root-of-the-artifact-location>Örnek:
az ml model create --name my-registered-model --version 1 --path runs:/my_run_0000000000/model/ --type mlflow_model
azureml://jobs URI biçimi
azureml://jobsİşin herhangi bir çıkış yolundaki artifaktlardan bir model kaydetmek için başvuru URI'sini kullanın. Bu biçim, başvuru URI biçimiyleazureml://datastoreshizalanır. Ayrıca, varsayılan yapıt konumu dışındaki adlandırılmış çıkışlardan yapıtlara başvurmayı da destekler.MLflow kullanarak modelinizi doğrudan eğitim betiğine kaydetmediyseniz, kayıtlı modelle eğittiği iş arasında bir köken oluşturmak için bu seçeneği kullanın.
Biçim:
azureml://jobs/<run-id>/outputs/<output-name>/paths/<path-to-model>- Varsayılan yapıt konumu:
azureml://jobs/<run-id>/outputs/artifacts/paths/<path-to-model>/. Bu konum MLflowruns:/<run-id>/<model>ile eşdeğerdir. - Adlandırılmış çıkış klasörü:
azureml://jobs/<run-id>/outputs/<named-output-folder> - Adlandırılmış çıkış klasöründeki belirli dosya:
azureml://jobs/<run-id>/outputs/<named-output-folder>/paths/<model-filename> - Adlandırılmış çıktı klasörünün içindeki belirli klasör yolu:
azureml://jobs/<run-id>/outputs/<named-output-folder>/paths/<model-folder-name>
Örnek:
Adlandırılmış bir çıkış klasöründen model kaydedin:
az ml model create --name run-model-example --version 1 --path azureml://jobs/my_run_0000000000/outputs/artifacts/paths/model/Tam bir örnek için bkz . CLI başvurusu.
- Varsayılan yapıt konumu:
Eğitim için modelleri kullanma
v2 Azure CLI ve Python SDK'sı ayrıca modelleri eğitim işlerinde giriş veya çıkış olarak kullanmanıza da olanak tanır.
Eğitim işinde giriş olarak model kullanma
İş belirtimi YAML dosyası, <dosya adı>.yml oluşturun.
inputsİşin bölümünde şunları belirtin:- modeli
type, veyamlflow_modelolabilircustom_modeltriton_model. -
pathModelinizin bulunduğu yer. Aşağıdaki örneğin açıklamasında listelenen yollardan herhangi birini kullanabilirsiniz.
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json # Possible Paths for models: # AzureML Datastore: azureml://datastores/<datastore-name>/paths/<path_on_datastore> # MLflow run: runs:/<run-id>/<path-to-model-relative-to-the-root-of-the-artifact-location> # Job: azureml://jobs/<job-name>/outputs/<output-name>/paths/<path-to-model-relative-to-the-named-output-location> # Model Asset: azureml:<my_model>:<version> command: | ls ${{inputs.my_model}} inputs: my_model: type: mlflow_model # List of all model types here: https://learn.microsoft.com/azure/machine-learning/reference-yaml-model#yaml-syntax path: ../../assets/model/mlflow-model environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest- modeli
YAML dosyanızın adını değiştirerek aşağıdaki komutu çalıştırın.
az ml job create -f <file-name>.yml
Tam bir örnek için bkz . Model GitHub deposu.
İş için çıkış olarak model yazma
İşiniz, çıkışları kullanarak bulut tabanlı depolama alanınıza model yazabilir.
İş belirtimi YAML dosya <adı>.yml oluşturun.
outputsBölümünü çıkış modeli türü ve yolu ile doldurun.$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json # Possible Paths for Model: # Local path: mlflow-model/model.pkl # AzureML Datastore: azureml://datastores/<datastore-name>/paths/<path_on_datastore> # MLflow run: runs:/<run-id>/<path-to-model-relative-to-the-root-of-the-artifact-location> # Job: azureml://jobs/<job-name>/outputs/<output-name>/paths/<path-to-model-relative-to-the-named-output-location> # Model Asset: azureml:<my_model>:<version> code: src command: >- python hello-model-as-output.py --input_model ${{inputs.input_model}} --custom_model_output ${{outputs.output_folder}} inputs: input_model: type: mlflow_model # mlflow_model,custom_model, triton_model path: ../../assets/model/mlflow-model outputs: output_folder: type: custom_model # mlflow_model,custom_model, triton_model environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latestCLI kullanarak iş oluşturma:
az ml job create --file <file-name>.yml
Tam bir örnek için bkz . Model GitHub deposu.
Modelleri yönetme
Azure Machine Learning model varlıklarınızın yaşam döngüsünü yönetmek için Azure CLI ve Python SDK'sını kullanabilirsiniz.
Liste
Çalışma alanınızdaki tüm modelleri listeleyin:
az ml model list
Tüm model sürümlerini belirli bir ad altında listeleyin:
az ml model list --name run-model-example
Göster
Belirli bir modelin ayrıntılarını alın:
az ml model show --name run-model-example --version 1
Güncelleştir
Belirli bir modelin değiştirilebilir özelliklerini güncelleştirme:
Önemli
Modeller için yalnızca description ve tags özelliklerini güncelleştirebilirsiniz. Diğer tüm özellikler sabittir. Bu özellikleri değiştirmek için modelin yeni bir sürümünü oluşturun.
az ml model update --name run-model-example --version 1 --set description="This is an updated description." --set tags.stage="Prod"
Arşiv
Modeli arşivleme, varsayılan olarak olduğu gibi az ml model list liste sorgularından gizler. İş akışlarınızda arşivlenmiş bir modele başvurmaya ve kullanmaya devam edebilirsiniz.
Modelin tüm sürümlerini veya yalnızca belirli sürümlerini arşivleyebilirsiniz. Bir sürüm belirtmezseniz, komutu modelin tüm sürümlerini arşivler. Arşivlenmiş bir model kapsayıcısı altında yeni bir model sürümü oluşturursanız, yeni sürüm de otomatik olarak arşivlenmiş olarak ayarlanır.
Belirli bir model sürümünü arşivle:
az ml model archive --name run-model-example --version 1