Python SDK'sı (v1) ile Azure Machine Learning çalışma alanlarını yönetme

ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

Bu makalede, Python için SDK'yı kullanarak Azure Machine Learning için Azure Machine Learning çalışma alanlarını oluşturur, görüntüler ve silersiniz.

İhtiyaçlarınız değiştikçe veya otomasyon gereksinimleriniz arttıkça çalışma alanlarını CLI kullanarak veya VS Code uzantısı aracılığıyla da yönetebilirsiniz.

Ön koşullar

  • Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun. Azure Machine Learning'in ücretsiz veya ücretli sürümünü bugün deneyin.
  • Python SDK'sını kullanıyorsanız SDK'yı yükleyin.

Sınırlamalar

  • Yeni bir çalışma alanı oluştururken, çalışma alanı için gereken hizmetleri otomatik olarak oluşturabilir veya mevcut hizmetleri kullanabilirsiniz. Çalışma alanından farklı bir Azure aboneliğindeki mevcut hizmetleri kullanmak istiyorsanız, Azure Machine Learning ad alanını bu hizmetleri içeren aboneliğe kaydetmeniz gerekir. Örneğin, A aboneliğinde B aboneliğinden bir depolama hesabı kullanan bir çalışma alanı oluştururken, depolama hesabını çalışma alanıyla kullanabilmeniz için önce Azure Machine Learning ad alanının B aboneliğine kaydedilmesi gerekir.

    Azure Machine Learning için kaynak sağlayıcısı Microsoft.MachineLearningServices'tir. Kayıtlı olup olmadığını ve nasıl kaydedildiğini görme hakkında bilgi için Azure kaynak sağlayıcıları ve türleri makalesine bakın.

    Önemli

    Bu yalnızca çalışma alanı oluşturma sırasında sağlanan kaynaklar için geçerlidir; Azure Depolama Hesapları, Azure Container Register, Azure Key Vault ve Uygulama Analizler.

  • Varsayılan olarak, çalışma alanı oluşturmak bir Azure Container Registry (ACR) de oluşturur. ACR şu anda kaynak grubu adlarında unicode karakterleri desteklemediğinden, bu karakterleri içermeyen bir kaynak grubu kullanın.

  • Azure Machine Learning, çalışma alanının varsayılan depolama hesabı için hiyerarşik ad alanını (Azure Data Lake Storage 2. Nesil özellik) desteklemez.

Bahşiş

Çalışma alanını oluşturduğunuzda bir Azure Uygulaması Analizler örneği oluşturulur. İsterseniz küme oluşturulduktan sonra Application Analizler örneğini silebilirsiniz. Silme, çalışma alanından toplanan bilgileri sınırlar ve sorunları gidermeyi zorlaştırabilir. Çalışma alanı tarafından oluşturulan Application Analizler örneğini silerseniz, çalışma alanını silip yeniden oluşturmadan yeniden oluşturamazsınız.

Bu Uygulama Analizler örneğini kullanma hakkında daha fazla bilgi için bkz. Machine Learning web hizmeti uç noktalarındaki verileri izleme ve toplama.

Çalışma alanı oluşturma

Sınırlı seçeneklerle doğrudan Azure Machine Learning stüdyosu'de bir çalışma alanı oluşturabilirsiniz. Alternatif olarak, seçeneklerin daha fazla denetimi için aşağıdaki yöntemlerden birini de kullanabilirsiniz.

  • Varsayılan belirtim. Varsayılan olarak, bağımlı kaynaklar ve kaynak grubu otomatik olarak oluşturulur. Bu kod adlı myworkspace bir çalışma alanı ve içinde eastus2adlı myresourcegroup bir kaynak grubu oluşturur.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    from azureml.core import Workspace
    
    ws = Workspace.create(name='myworkspace',
                   subscription_id='<azure-subscription-id>',
                   resource_group='myresourcegroup',
                   create_resource_group=True,
                   location='eastus2'
                   )
    

    Çalışma alanı için kullanmak istediğiniz mevcut bir Azure kaynak grubunuz varsa False olarak ayarlayın create_resource_group .

  • Birden çok kiracı. Birden çok hesabınız varsa, kullanmak istediğiniz Microsoft Entra Kimliğinin kiracı kimliğini ekleyin. Azure portalında Microsoft Entra Id, External Identity altında kiracı kimliğinizi bulun.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Bağımsız bulut. Bağımsız bir bulutta çalışıyorsanız Azure'da kimlik doğrulaması yapmak için ek kod gerekir.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Mevcut Azure kaynaklarını kullanın. Ayrıca, Azure kaynak kimliği biçiminde mevcut Azure kaynaklarını kullanan bir çalışma alanı da oluşturabilirsiniz. Azure portalında veya SDK ile belirli Azure kaynak kimliklerini bulun. Bu örnekte kaynak grubunun, depolama hesabının, anahtar kasasının, Uygulama Analizler ve kapsayıcı kayıt defterinin zaten mevcut olduğu varsayılır.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    import os
    from azureml.core import Workspace
    from azureml.core.authentication import ServicePrincipalAuthentication
    
    service_principal_password = os.environ.get("AZUREML_PASSWORD")
    
    service_principal_auth = ServicePrincipalAuthentication(
        tenant_id="<tenant-id>",
        username="<application-id>",
        password=service_principal_password)
    
                          auth=service_principal_auth,
                               subscription_id='<azure-subscription-id>',
                               resource_group='myresourcegroup',
                               create_resource_group=False,
                               location='eastus2',
                               friendly_name='My workspace',
                               storage_account='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.storage/storageaccounts/mystorageaccount',
                               key_vault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/mykeyvault',
                               app_insights='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.insights/components/myappinsights',
                               container_registry='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.containerregistry/registries/mycontainerregistry',
                               exist_ok=False)
    

Daha fazla bilgi için bkz . Çalışma Alanı SDK'sı başvurusu.

Aboneliğinize erişirken sorun yaşıyorsanız Bkz . Azure Machine Learning kaynakları ve iş akışları için kimlik doğrulamasını ayarlamanın yanı sıra Azure Machine Learning'de Kimlik Doğrulaması not defteri.

Önemli

Çalışma alanınızla özel uç nokta ve sanal ağ kullanma hakkında daha fazla bilgi için bkz . Ağ yalıtımı ve gizlilik.

Azure Machine Learning Python SDK'sı, özel uç nokta içeren bir çalışma alanı oluşturmak için Workspace.create() ile kullanılabilen PrivateEndpointConfig sınıfını sağlar. Bu sınıf mevcut bir sanal ağ gerektirir.

Gelişmiş

Varsayılan olarak, çalışma alanının meta verileri Microsoft'un koruduğu bir Azure Cosmos DB örneğinde depolanır. Bu veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir.

Microsoft'un çalışma alanınızda topladığı verileri sınırlamak için portalda yüksek iş etkisi çalışma alanı'nı seçin veya Python'da ayarlayınhbi_workspace=true . Bu ayar hakkında daha fazla bilgi için bkz . Bekleyen şifreleme.

Önemli

yüksek iş etkisi seçme işlemi yalnızca çalışma alanı oluşturulurken yapılabilir. Çalışma alanı oluşturulduktan sonra bu ayarı değiştiremezsiniz.

Kendi veri şifreleme anahtarınızı kullanma

Veri şifreleme için kendi anahtarınızı sağlayabilirsiniz. Bunu yaptığınızda, Azure aboneliğinizde meta verileri depolayan Azure Cosmos DB örneği oluşturulur. Daha fazla bilgi için bkz . Azure Machine Learning için müşteri tarafından yönetilen anahtarlar.

Kendi anahtarınızı sağlamak için aşağıdaki adımları kullanın:

Önemli

Bu adımları uygulamadan önce aşağıdaki eylemleri gerçekleştirmeniz gerekir:

Müşteri tarafından yönetilen anahtarları yapılandırma altındaki adımları izleyin:

  • Azure Cosmos DB sağlayıcısını kaydetme
  • Azure Key Vault oluşturma ve yapılandırma
  • Anahtar oluşturma

Müşteri tarafından yönetilen anahtarı belirtmek için ve resource_cmk_uri kullanıncmk_keyvault.

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               create_resource_group=True,
               location='eastus2'
               cmk_keyvault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/<keyvault-name>', 
               resource_cmk_uri='<key-identifier>'
               )

Yapılandırma dosyasını indirme

Kodunuzu çalıştırmak için çalışma alanınızda bir işlem örneği kullanıyorsanız bu adımı atlayın. İşlem örneği sizin için bu dosyanın bir kopyasını oluşturur ve depolar.

Yerel ortamınızda bu çalışma alanına ()ws başvuran bir kod kullanmayı planlıyorsanız yapılandırma dosyasını yazın:

ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

ws.write_config()

Python betikleriniz veya Jupyter Notebook'larınızla dosyayı dizin yapısına yerleştirin. Aynı dizinde, .azureml adlı bir alt dizinde veya bir üst dizinde olabilir. Bir işlem örneği oluşturduğunuzda, bu dosya sizin için VM'de doğru dizine eklenir.

Çalışma alanına Bağlan

Python kodunuzda, çalışma alanınıza bağlanmak için bir çalışma alanı nesnesi oluşturursunuz. Bu kod, çalışma alanınızı bulmak için yapılandırma dosyasının içeriğini okur. Henüz kimliğiniz doğrulanmamışsa oturum açmanız istenir.

ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

from azureml.core import Workspace

ws = Workspace.from_config()
  • Birden çok kiracı. Birden çok hesabınız varsa, kullanmak istediğiniz Microsoft Entra Kimliğinin kiracı kimliğini ekleyin. Azure portalında Microsoft Entra Id, External Identity altında kiracı kimliğinizi bulun.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.from_config(auth=interactive_auth)
    
  • Bağımsız bulut. Bağımsız bir bulutta çalışıyorsanız Azure'da kimlik doğrulaması yapmak için ek kod gerekir.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.from_config(auth=interactive_auth)
    

Aboneliğinize erişirken sorun yaşıyorsanız Bkz . Azure Machine Learning kaynakları ve iş akışları için kimlik doğrulamasını ayarlamanın yanı sıra Azure Machine Learning'de Kimlik Doğrulaması not defteri.

Çalışma alanı bulma

Kullanabileceğiniz tüm çalışma alanlarının listesine bakın.

Aboneliklerinizi Azure portalındaki Abonelikler sayfasında bulabilirsiniz. Kimliği kopyalayın ve bu abonelik için kullanılabilir tüm çalışma alanlarını görmek için aşağıdaki kodda kullanın.

ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

from azureml.core import Workspace

Workspace.list('<subscription-id>')

Workspace.list(..) yöntemi tam çalışma alanı nesnesini döndürmez. Yalnızca abonelikteki mevcut çalışma alanlarıyla ilgili temel bilgileri içerir. Belirli bir çalışma alanının tam nesnesini almak için Workspace.get(..) kullanın.

Çalışma alanını silme

Artık çalışma alanına ihtiyacınız kalmadığında, çalışma alanını silin.

Uyarı

Çalışma alanı için geçici silme etkinleştirildiyse, silme işleminden sonra kurtarılabilir. Geçici silme etkin değilse veya çalışma alanını kalıcı olarak silme seçeneğini belirtirseniz, kurtarılamaz. Daha fazla bilgi için bkz . Silinen çalışma alanını kurtarma.

Bahşiş

Azure Machine Learning için varsayılan davranış, çalışma alanını geçici olarak silmektir. Bu, çalışma alanının hemen silinmediği, bunun yerine silinmek üzere işaretleneceği anlamına gelir. Daha fazla bilgi için bkz . Geçici silme.

Çalışma alanını wssilin:

ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

ws.delete(delete_dependent_resources=False, no_wait=False)

Varsayılan eylem, çalışma alanıyla ilişkili kaynakları (kapsayıcı kayıt defteri, depolama hesabı, anahtar kasası ve uygulama içgörüleri) silmek değildir. Bu kaynakları da silmek için True olarak ayarlayın delete_dependent_resources .

Kaynakları temizleme

Önemli

Oluşturduğunuz kaynaklar, diğer Azure Machine Learning öğreticileri ve nasıl yapılır makaleleri için önkoşul olarak kullanılabilir.

Oluşturduğunuz kaynaklardan hiçbirini kullanmayı planlamıyorsanız, ücret ödememek için bunları silin:

  1. Azure portalının en sol tarafındaki Kaynak gruplarını seçin.

  2. Listeden, oluşturduğunuz kaynak grubunu seçin.

  3. Kaynak grubunu sil'i seçin.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Kaynak grubu adını girin. Ardından Sil'i seçin.

Sorun giderme

  • Azure Machine Learning stüdyosu desteklenen tarayıcılar: İşletim sisteminizle uyumlu en güncel tarayıcıyı kullanmanızı öneririz. Aşağıdaki tarayıcılar desteklenmektedir:

    • Microsoft Edge (Yeni Microsoft Edge, en son sürüm. Microsoft Edge'in eski sürümü değil)
    • Safari (en son sürüm, yalnızca Mac)
    • Chrome (en son sürüm)
    • Firefox (en son sürüm)
  • Azure portalı:

    • SDK'dan veya Azure portalından bir paylaşım bağlantısından doğrudan çalışma alanınıza giderseniz, uzantıda abonelik bilgilerinin bulunduğu standart Genel Bakış sayfasını görüntüleyemezsiniz. Bu senaryoda, başka bir çalışma alanına da geçiş yapamazsınız. Başka bir çalışma alanını görüntülemek için doğrudan Azure Machine Learning stüdyosu gidin ve çalışma alanı adını arayın.
    • Tüm varlıklar (Veri, Denemeler, İşlemler vb.) yalnızca Azure Machine Learning stüdyosu kullanılabilir. Bunlar Azure portalında kullanılamaz.
    • Azure portalından bir çalışma alanı için şablonu dışarı aktarmaya çalışmak aşağıdaki metne benzer bir hata döndürebilir: Could not get resource of the type <type>. Resources of this type will not be exported. Geçici çözüm olarak, şablonunuzun temeli olarak adresinde https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices sağlanan şablonlardan birini kullanın.

Çalışma alanı tanılamaları

Azure Machine Learning stüdyosu veya Python SDK'sından çalışma alanınızda tanılama çalıştırabilirsiniz. Tanılama çalıştırıldıktan sonra algılanan sorunların listesi döndürülür. Bu liste olası çözümlerin bağlantılarını içerir. Daha fazla bilgi için bkz . Çalışma alanı tanılamasını kullanma.

Kaynak sağlayıcısı hataları

Azure Machine Learning çalışma alanı veya çalışma alanı tarafından kullanılan bir kaynak oluştururken aşağıdaki iletilere benzer bir hata alabilirsiniz:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

Çoğu kaynak sağlayıcısı otomatik olarak kaydedilir, ancak tümü kaydedilmez. Bu iletiyi alırsanız, bahsedilen sağlayıcıyı kaydetmeniz gerekir.

Aşağıdaki tabloda Azure Machine Learning tarafından gereken kaynak sağlayıcılarının listesi yer alır:

Kaynak sağlayıcısı Neden gereklidir?
Microsoft.MachineLearningServices Azure Machine Learning çalışma alanını oluşturma.
Microsoft. Depolama Azure Depolama Hesabı, çalışma alanı için varsayılan depolama alanı olarak kullanılır.
Microsoft.ContainerRegistry Azure Container Registry, çalışma alanı tarafından Docker görüntüleri oluşturmak için kullanılır.
Microsoft.KeyVault Azure Key Vault, çalışma alanı tarafından gizli dizileri depolamak için kullanılır.
Microsoft.Notebooks Azure Machine Learning işlem örneğindeki tümleşik not defterleri.
Microsoft.ContainerService Eğitilmiş modelleri Azure Kubernetes Services'e dağıtmayı planlıyorsanız.

Azure Machine Learning ile müşteri tarafından yönetilen bir anahtar kullanmayı planlıyorsanız aşağıdaki hizmet sağlayıcılarının kaydedilmesi gerekir:

Kaynak sağlayıcısı Neden gereklidir?
Microsoft.DocumentDB Çalışma alanı için meta verileri günlüğe kaydeden Azure CosmosDB örneği.
Microsoft.Search Azure Search, çalışma alanı için dizin oluşturma özellikleri sağlar.

Azure Machine Learning ile yönetilen bir sanal ağ kullanmayı planlıyorsanız Microsoft.Network kaynak sağlayıcısının kayıtlı olması gerekir. Bu kaynak sağlayıcısı, yönetilen sanal ağ için özel uç noktalar oluştururken çalışma alanı tarafından kullanılır.

Kaynak sağlayıcılarını kaydetme hakkında bilgi için bkz . Kaynak sağlayıcısı kaydı hatalarını çözme.

Azure Container Registry'yi silme

Azure Machine Learning çalışma alanı, bazı işlemler için Azure Container Registry'yi (ACR) kullanır. İlk ihtiyaç duyduğunda otomatik olarak bir ACR örneği oluşturur.

Uyarı

Bir çalışma alanı için Azure Container Registry oluşturulduktan sonra silmeyin. Bunu yaptığınızda Azure Machine Learning çalışma alanınız bozulacaktır.

Sonraki adımlar

Çalışma alanınız olduktan sonra modeli eğitmeyi ve dağıtmayı öğrenin.

Kuruluşunuzun gereksinimlerine yönelik bir çalışma alanı planlama hakkında daha fazla bilgi edinmek için bkz . Azure Machine Learning'i düzenleme ve ayarlama.

Azure Machine Learning'inizi en son güvenlik güncelleştirmeleriyle güncel tutma hakkında bilgi için bkz . Güvenlik açığı yönetimi.