Privát Python-csomagok használata az Azure Machine Learning használatával

A KÖVETKEZŐKRE VONATKOZIK:Python SDK azureml v1

Ebből a cikkből megtudhatja, hogyan használhatja biztonságosan a privát Python-csomagokat az Azure Machine Learningben. A privát Python-csomagok használati esetei a következők:

  • Kifejlesztett egy privát csomagot, amelyet nem szeretne nyilvánosan megosztani.
  • Egy vállalati tűzfalon belül tárolt csomagok válogatott adattárát szeretné használni.

Az ajánlott megközelítés attól függ, hogy csak néhány csomaggal rendelkezik-e egyetlen Azure Machine Learning-munkaterülethez, vagy egy teljes csomagtárat egy szervezet összes munkaterületéhez.

A privát csomagok környezeti osztályon keresztül vannak használva. Egy környezetben deklarálja, hogy mely Python-csomagokat használja, beleértve a privát csomagokat is. Az Azure Machine Learning környezetével kapcsolatos általános információkért lásd: Környezetek használata.

Előfeltételek

Kis számú csomag használata fejlesztéshez és teszteléshez

Ha egy munkaterülethez kevés privát csomagot használ, használja a statikus Environment.add_private_pip_wheel() metódust. Ez a megközelítés lehetővé teszi egy privát csomag gyors hozzáadását a munkaterülethez, és kiválóan alkalmas fejlesztési és tesztelési célokra.

Mutasson a fájl elérési útjának argumentumára egy helyi kerékfájlra, és futtassa a add_private_pip_wheel parancsot. A parancs egy URL-címet ad vissza, amellyel nyomon követheti a csomag helyét a munkaterületen belül. Rögzítse a tárolási URL-címet, és adja át a metódust add_pip_package() .

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

Az Azure Machine Learning szolgáltatás belsőleg biztonságos SAS URL-címmel cseréli le az URL-címet, így a kerékfájl privát és biztonságos marad.

Csomagok adattárának használata az Azure DevOps-hírcsatornából

Ha aktívan fejleszt Python-csomagokat a gépi tanulási alkalmazáshoz, egy Azure DevOps-adattárban tárolhatja őket összetevőkként, és közzéteheti őket hírcsatornaként. Ezzel a módszerrel integrálhatja a DevOps-munkafolyamatot a csomagok létrehozásához az Azure Machine Learning-munkaterülettel. Ha meg szeretné tudni, hogyan állíthat be Python-hírcsatornákat az Azure DevOps használatával, olvassa el A Python-csomagok használatának első lépései az Azure Artifactsben című cikket.

Ez a módszer személyes hozzáférési jogkivonatot használ az adattáron való hitelesítéshez. Ugyanez a megközelítés vonatkozik más jogkivonatalapú hitelesítéssel rendelkező adattárakra is, például a privát GitHub-adattárakra.

  1. Hozzon létre egy személyes hozzáférési jogkivonatot (PAT) az Azure DevOps-példányhoz. Állítsa a jogkivonat hatókörét Csomagolás > olvasása értékre.

  2. Adja hozzá az Azure DevOps URL-címét és PAT-ját munkaterület-tulajdonságokként a Workspace.set_connection metódussal.

    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. Hozzon létre egy Azure Machine Learning-környezetet, és adjon hozzá Python-csomagokat a hírcsatornából.

    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
    

A környezet most már készen áll a betanítási futtatásokban vagy a webszolgáltatás-végpontok üzembe helyezésében való használatra. A környezet létrehozásakor az Azure Machine Learning service a PAT használatával hitelesíti magát a hírcsatornán a megfelelő alap URL-címmel.

Csomagok tárházának használata privát tárolóból

A szervezet tűzfalán belül egy Azure Storage-fiókból is használhat csomagokat. A tárfiók egy válogatott csomagkészletet vagy a nyilvánosan elérhető csomagok belső tükörét is tartalmazhatja.

Az ilyen privát tárolók beállításáról az Azure Machine Learning-munkaterület és a kapcsolódó erőforrások védelme című témakörben olvashat. A Azure Container Registry (ACR) is a virtuális hálózat mögé kell helyeznie.

Fontos

Ezt a lépést el kell végeznie ahhoz, hogy modelleket taníthasson be vagy telepíthessen a privát csomagtárház használatával.

A konfigurációk elvégzése után hivatkozhat az Azure Machine Learning-környezet definíciójában szereplő csomagokra az Azure Blob Storage-ban található teljes URL-címükkel.

Következő lépések