Dela via


Använda privata Python-paket med Azure Mašinsko učenje

GÄLLER FÖR: Python SDK azureml v1

I den här artikeln lär du dig hur du använder privata Python-paket på ett säkert sätt i Azure Mašinsko učenje. Användningsfall för privata Python-paket är:

  • Du har utvecklat ett privat paket som du inte vill dela offentligt.
  • Du vill använda en kuraterad lagringsplats med paket som lagras i en företagsbrandvägg.

Den rekommenderade metoden beror på om du har några paket för en enda Azure Mašinsko učenje-arbetsyta eller en hel lagringsplats med paket för alla arbetsytor i en organisation.

De privata paketen används via klassen Miljö . I en miljö deklarerar du vilka Python-paket som ska användas, inklusive privata. Mer information om miljön i Azure Mašinsko učenje i allmänhet finns i Så här använder du miljöer.

Förutsättningar

Använda ett litet antal paket för utveckling och testning

Använd den statiska Environment.add_private_pip_wheel() metoden för några privata paket för en enda arbetsyta. Med den här metoden kan du snabbt lägga till ett privat paket på arbetsytan och passar bra för utveckling och testning.

Peka filsökvägsargumentet på en lokal hjulfil och kör add_private_pip_wheel kommandot. Kommandot returnerar en URL som används för att spåra paketets plats i din arbetsyta. Samla in lagrings-URL:en och skicka den till add_pip_package() metoden.

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

Internt ersätter Azure Mašinsko učenje-tjänsten URL:en med en säker SAS-URL, så att hjulfilen hålls privat och säker.

Använda en lagringsplats med paket från Azure DevOps-feed

Om du aktivt utvecklar Python-paket för ditt maskininlärningsprogram kan du vara värd för dem på en Azure DevOps-lagringsplats som artefakter och publicera dem som en feed. Med den här metoden kan du integrera DevOps-arbetsflödet för att skapa paket med din Azure Mašinsko učenje-arbetsyta. Mer information om hur du konfigurerar Python-feeds med Azure DevOps finns i Komma igång med Python-paket i Azure Artifacts

Den här metoden använder personlig åtkomsttoken för att autentisera mot lagringsplatsen. Samma metod gäller för andra lagringsplatser med tokenbaserad autentisering, till exempel privata GitHub-lagringsplatser.

  1. Skapa en personlig åtkomsttoken (PAT) för din Azure DevOps-instans. Ange tokens omfång till Paketeringsläsning>.

  2. Lägg till azure DevOps-URL:en och PAT som arbetsyteegenskaper med hjälp av metoden Workspace.set_connection .

    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. Skapa en Azure Mašinsko učenje-miljö och lägg till Python-paket från feeden.

    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
    

Miljön är nu redo att användas i träningskörningar eller webbtjänstslutpunktsdistributioner. När du skapar miljön använder Azure Mašinsko učenje-tjänsten PAT för att autentisera mot flödet med den matchande bas-URL:en.

Använda en lagringsplats med paket från privat lagring

Du kan använda paket från ett Azure Storage-konto i organisationens brandvägg. Lagringskontot kan innehålla en kuraterad uppsättning paket eller en intern spegling av offentligt tillgängliga paket.

Information om hur du konfigurerar sådan privat lagring finns i Skydda en Azure-Mašinsko učenje arbetsyta och associerade resurser. Du måste också placera Azure Container Registry (ACR) bakom det virtuella nätverket.

Viktigt!

Du måste slutföra det här steget för att kunna träna eller distribuera modeller med hjälp av den privata paketlagringsplatsen.

När du har slutfört dessa konfigurationer kan du referera till paketen i Azure Mašinsko učenje miljödefinitionen med deras fullständiga URL i Azure Blob Storage.

Nästa steg