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.
İzleme , denemeler hakkında ilgili bilgileri kaydetme işlemidir. Bu makalede, Azure Machine Learning çalışma alanlarında denemeleri ve çalıştırmaları izlemek için MLflow'un nasıl kullanılacağını öğreneceksiniz.
Azure Machine Learning kullanırken MLflow API'sinde kullanılabilen bazı yöntemler kullanılamayabilir. Desteklenen ve desteklenmeyen işlemler hakkında ayrıntılı bilgi için bkz. Çalıştırmaları ve denemeleri sorgulamaya yönelik destek matrisi. Ayrıca MLflow ve Azure Machine Learning makalesinden Azure Machine Learning'de desteklenen MLflow işlevleri hakkında bilgi edinebilirsiniz.
Uyarı
- Azure Databricks'te çalışan denemeleri izlemek için bkz. MLflow ve Azure Machine Learning ile Azure Databricks makine öğrenmesi denemelerini izleme.
- Azure Synapse Analytics'te çalışan denemeleri izlemek için bkz. MLflow ve Azure Machine Learning ile Azure Synapse Analytics ML denemelerini izleme.
Önkoşullar
Azure aboneliğine ve Azure Machine Learning'in ücretsiz veya ücretli sürümüne sahip olun.
Azure CLI ve Python komutlarını çalıştırmak için Azure CLI v2 ve Python için Azure Machine Learning SDK v2'yi yükleyin.
mlAzure CLI uzantısı, bir Azure Machine Learning CLI komutunu ilk kez çalıştırdığınızda otomatik olarak yüklenir.
MLflow SDK
mlflowpaketini ve MLflow için Azure Machine Learningazureml-mlfloweklentisini yükleyin:pip install mlflow azureml-mlflowTavsiye
SQL depolama, sunucu, kullanıcı arabirimi veya veri bilimi bağımlılıkları olmadan basit bir MLflow paketi olan paketini kullanabilirsiniz
mlflow-skinny. Bu paketi öncelikle MLflow izleme ve günlüğe kaydetme özelliklerine ihtiyacı olan ancak dağıtımlar dahil olmak üzere tam özellik paketine ihtiyaç duymayan kullanıcılar için öneririz.Azure Machine Learning çalışma alanı oluşturun. Çalışma alanı oluşturmak için Başlamak için ihtiyacınız olan kaynakları oluşturma bölümüne bakın. Çalışma alanınızda MLflow işlemleri gerçekleştirmek için ihtiyacınız olan erişim izinlerini gözden geçirin.
Uzaktan izleme yapmak veya Azure Machine Learning dışında çalışan denemeleri izlemek için MLflow'ı Azure Machine Learning çalışma alanınızın izleme URI'sine işaret eden şekilde yapılandırın. MLflow'u çalışma alanınıza bağlama hakkında daha fazla bilgi için bkz . Azure Machine Learning için MLflow'u yapılandırma.
Denemeyi yapılandırma
MLflow, denemelerdeki ve çalıştırmalardaki bilgileri düzenler. Çalıştırmalar, Azure Machine Learning'de işler olarak adlandırılır. Varsayılan olarak, günlüğü Varsayılan adlı otomatik olarak oluşturulan bir denemede çalıştırır, ancak hangi denemeyi izleyebileceğinizi yapılandırabilirsiniz.
Jupyter not defteri gibi etkileşimli eğitimler için MLflow komutunu mlflow.set_experiment()kullanın. Örneğin, aşağıdaki kod parçacığı bir denemeyi yapılandırıyor:
experiment_name = 'hello-world-example'
mlflow.set_experiment(experiment_name)
Çalıştırma ayarlarını yapılandırma
Azure Machine Learning, MLflow'un çalıştırmalar olarak adlandırdığı eğitim işleri izler. İşinizin gerçekleştirdiği tüm işlemleri kaydetmek için çalıştırmaları kullanın.
Etkileşimli çalıştığınızda, bir çalışmanın aktif olmasını gerektiren bilgileri günlüğe kaydettiğiniz anda MLflow eğitim sürecinizi izlemeye başlar. Örneğin, MLflow'un otomatik kaydetme işlevi etkinleştirilirse, bir ölçümü veya parametreyi günlüğe kaydettiğinizde veya bir eğitim döngüsü başlattığınızda MLflow izleme başlatılır.
Ancak, özellikle denemenizin toplam süresini Süre alanında yakalamak istiyorsanız, çalıştırmayı açıkça başlatmak genellikle yararlı olur. Çalıştırmayı açıkça başlatmak için kullanın mlflow.start_run().
Çalıştırmayı el ile başlatsanız da başlatmasanız da, MLflow'un deneme çalıştırmanızın tamamlandığını bilmesi ve çalıştırmanın durumunu Tamamlandı olarak işaretlemesi için çalıştırmayı durdurmanız gerekir. Çalıştırmayı durdurmak için kullanın mlflow.end_run().
Aşağıdaki kod bir çalıştırmayı el ile başlatır ve not defterinin sonunda sonlandırır:
mlflow.start_run()
# Your code
mlflow.end_run()
Çalıştırmaları el ile başlatmanız en iyisidir, böylece bunları sonlandırmayı unutmayın. Çalıştırmayı sonlandırmayı hatırlamanıza yardımcı olması için bağlam yöneticisi paradigması kullanabilirsiniz.
with mlflow.start_run() as run:
# Your code
Yeni bir çalıştırma başlatmak için mlflow.start_run() kullandığınızda, run_name parametresini belirtmek yararlı olabilir. Bu parametre daha sonra Azure Machine Learning kullanıcı arabiriminde çalıştırmanın adı olarak çevrilir. Bu uygulama, koşuyu daha hızlı belirlemenize yardımcı olur.
with mlflow.start_run(run_name="hello-world-example") as run:
# Your code
MLflow otomatik kaydetmeyi etkinleştirme
Ölçümleri, parametreleri ve dosyaları MLflow ile el ile günlüğe kaydedebilir ve ayrıca MLflow'un otomatik günlüğe kaydetme özelliğine de güvenebilirsiniz. MLflow tarafından desteklenen her makine öğrenmesi çerçevesi, otomatik olarak nelerin izleneceğini belirler.
Otomatik günlüğü etkinleştirmek için eğitim kodunuzun önüne aşağıdaki kodu ekleyin:
mlflow.autolog()
Çalışma alanlarınızda ölçümleri ve nesneleri görüntüle
MLflow'dan kaydedilen ölçümler ve artefaktlar çalışma alanınızda izlenir. Bunları Azure Machine Learning Studio'da görüntüleyebilir ve bunlara erişebilir veya MLflow SDK'sını kullanarak program aracılığıyla erişebilirsiniz.
Stüdyodaki ölçümleri ve çıktıları görüntülemek için:
Çalışma alanınızdaki İşler sayfasında deneme adını seçin.
Deneme ayrıntıları sayfasında Ölçümler sekmesini seçin.
Sayfanın sağ tarafında grafikler görüntülemek için günlüğe kaydedilen ölçümleri seçin. Tek bir grafikte düzeltme uygulayarak, rengi değiştirerek veya birden çok ölçüm çizerek grafikleri özelleştirebilirsiniz. Ayrıca düzeni yeniden boyutlandırabilir ve yeniden düzenleyebilirsiniz.
İstediğiniz görünümü oluşturduktan sonra, daha sonra kullanmak üzere kaydedin ve doğrudan bağlantı kullanarak ekip arkadaşlarınızla paylaşın.
MLflow SDK'sını kullanarak ölçümlere, parametrelere ve yapıtlara program aracılığıyla erişmek veya bunları sorgulamak için mlflow.get_run() kullanın.
import mlflow
run = mlflow.get_run("<RUN_ID>")
metrics = run.data.metrics
params = run.data.params
tags = run.data.tags
print(metrics, params, tags)
Tavsiye
Yukarıdaki örnek, belirli bir ölçümün yalnızca son değerini döndürür. Belirli bir ölçümün tüm değerlerini almak için yöntemini kullanın mlflow.get_metric_history . Ölçüm değerlerini alma hakkında daha fazla bilgi için bkz. Çalıştırmadan parametreleri ve ölçümleri alma.
Dosyalar ve modeller gibi günlüğe kaydettiğiniz yapıtları indirmek için mlflow.artifacts.download_artifacts() kullanın.
mlflow.artifacts.download_artifacts(run_id="<RUN_ID>", artifact_path="helloworld.txt")
MLflow kullanarak Azure Machine Learning'de denemelerden ve çalıştırmalardan bilgi alma veya karşılaştırma hakkında daha fazla bilgi için bkz. MLflow ile denemeleri ve çalıştırmaları sorgulama ve karşılaştırma.