Azure Machine Learning ile özel Python paketlerini kullanma

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

Bu makalede, Azure Machine Learning içinde özel Python paketlerini güvenli bir şekilde kullanmayı öğrenin. Özel Python paketleri için kullanım örnekleri şunlardır:

  • Genel olarak paylaşmak istemediğiniz özel bir paket geliştirdiniz.
  • Kurumsal güvenlik duvarında depolanan paketlerin seçilmiş bir deposunu kullanmak istiyorsunuz.

Önerilen yaklaşım, tek bir Azure Machine Learning çalışma alanı için birkaç paketiniz mi yoksa bir kuruluştaki tüm çalışma alanları için paket deposunun tamamına mı sahip olmanıza bağlıdır.

Özel paketler Ortam sınıfı aracılığıyla kullanılır. Bir ortamda, özel paketler dahil olmak üzere hangi Python paketlerinin kullanılacağını bildirirsiniz. Azure Machine Learning'de genel olarak ortam hakkında bilgi edinmek için bkz . Ortamları kullanma.

Önkoşullar

Geliştirme ve test için az sayıda paket kullanma

Tek bir çalışma alanı için birkaç özel paket için statik Environment.add_private_pip_wheel() yöntemini kullanın. Bu yaklaşım, çalışma alanına hızlı bir şekilde özel paket eklemenize olanak tanır ve geliştirme ve test amacıyla çok uygundur.

Dosya yolu bağımsız değişkenini yerel bir tekerlek dosyasına işaret edin ve komutunu çalıştırın add_private_pip_wheel . komut, paketin Çalışma Alanınızdaki konumunu izlemek için kullanılan bir URL döndürür. Depolama URL'sini yakalayın add_pip_package() ve yöntemini geçirin.

whl_url = Environment.add_private_pip_wheel(workspace=ws,file_path = "my-custom.whl")
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_pip_package(whl_url)
myenv.python.conda_dependencies=conda_dep

Azure Machine Learning hizmeti dahili olarak URL'yi güvenli SAS URL'si ile değiştirerek tekerlek dosyanızın özel ve güvenli kalmasını sağlar.

Azure DevOps akışındaki paketlerin deposunu kullanma

Makine öğrenmesi uygulamanız için etkin bir şekilde Python paketleri geliştiriyorsanız, bunları bir Azure DevOps deposunda yapıt olarak barındırabilir ve akış olarak yayımlayabilirsiniz. Bu yaklaşım, Azure Machine Learning Çalışma Alanınızla paket oluşturmak için DevOps iş akışını tümleştirmenize olanak tanır. Azure DevOps kullanarak Python akışlarını ayarlamayı öğrenmek için Bkz . Azure Artifacts'te Python Paketlerini Kullanmaya Başlama

Bu yaklaşımda, depoda kimlik doğrulaması yapmak için Kişisel Erişim Belirteci kullanılır. Aynı yaklaşım, özel GitHub depoları gibi belirteç tabanlı kimlik doğrulamasına sahip diğer depolar için de geçerlidir.

  1. Azure DevOps örneğiniz için bir Kişisel Erişim Belirteci (PAT) oluşturun. Belirtecin kapsamını Paketleme > Okuma olarak ayarlayın.

  2. Workspace.set_connection yöntemini kullanarak Azure DevOps URL'sini ve PAT'yi çalışma alanı özellikleri olarak ekleyin.

    from azureml.core import Workspace
    
    pat_token = input("Enter secret token")
    ws = Workspace.from_config()
    ws.set_connection(name="connection-1", 
       category = "PythonFeed",
       target = "https://pkgs.dev.azure.com/<MY-ORG>", 
       authType = "PAT", 
       value = pat_token) 
    
  3. Bir Azure Machine Learning ortamı oluşturun ve akıştan Python paketleri ekleyin.

    from azureml.core import Environment
    from azureml.core.conda_dependencies import CondaDependencies
    
    env = Environment(name="my-env")
    cd = CondaDependencies()
    cd.add_pip_package("<my-package>")
    cd.set_pip_option("--extra-index-url https://pkgs.dev.azure.com/<MY-ORG>/_packaging/<MY-FEED>/pypi/simple")")
    env.python.conda_dependencies=cd
    

Ortam artık eğitim çalıştırmalarında veya web hizmeti uç noktası dağıtımlarında kullanılmaya hazırdır. Ortamı oluştururken Azure Machine Learning hizmeti, eşleşen temel URL ile akışta kimlik doğrulaması yapmak için PAT kullanır.

Özel depolamadan paketlerin deposunu kullanma

Kuruluşunuzun güvenlik duvarındaki bir Azure depolama hesabından paketleri kullanabilirsiniz. Depolama hesabı, seçilmiş bir paket kümesini veya genel kullanıma açık paketlerin iç yansıtmasını barındırabilir.

Bu tür özel depolamayı ayarlamak için bkz . Azure Machine Learning çalışma alanının ve ilişkili kaynakların güvenliğini sağlama. Ayrıca Azure Container Registry'yi (ACR) sanal ağın arkasına yerleştirmeniz gerekir.

Önemli

Özel paket deposunu kullanarak modelleri eğitebilmek veya dağıtabilmek için bu adımı tamamlamanız gerekir.

Bu yapılandırmaları tamamladıktan sonra Azure Machine Learning ortam tanımındaki paketlere Azure blob depolamadaki tam URL'lerine göre başvurabilirsiniz.

Sonraki adımlar