Delen via


Persoonlijke Python-pakketten gebruiken met Azure Machine Learning

VAN TOEPASSING OP: Python SDK azureml v1

In dit artikel leert u hoe u privé-Python-pakketten veilig kunt gebruiken in Azure Machine Learning. Gebruiksvoorbeelden voor persoonlijke Python-pakketten zijn onder andere:

  • U hebt een privépakket ontwikkeld dat u niet openbaar wilt delen.
  • U wilt een gecureerde opslagplaats met pakketten gebruiken die zijn opgeslagen in een bedrijfsfirewall.

De aanbevolen benadering is afhankelijk van of u weinig pakketten hebt voor één Azure Machine Learning-werkruimte of een volledige opslagplaats met pakketten voor alle werkruimten binnen een organisatie.

De privépakketten worden gebruikt via de omgevingsklasse . In een omgeving declareert u welke Python-pakketten moeten worden gebruikt, inclusief privépakketten. Zie Omgevingen gebruiken voor meer informatie over omgevingen in Azure Machine Learning in het algemeen.

Vereisten

Een klein aantal pakketten gebruiken voor ontwikkeling en testen

Gebruik de statische Environment.add_private_pip_wheel() methode voor een paar privépakketten voor één werkruimte. Met deze aanpak kunt u snel een privépakket aan de werkruimte toevoegen en is geschikt voor ontwikkelings- en testdoeleinden.

Wijs het padargument naar een lokaal wielbestand en voer de add_private_pip_wheel opdracht uit. De opdracht retourneert een URL die wordt gebruikt om de locatie van het pakket in uw werkruimte bij te houden. Leg de opslag-URL vast en geef deze door aan de add_pip_package() methode.

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

Intern vervangt Azure Machine Learning Service de URL door beveiligde SAS-URL, zodat uw wielbestand privé en veilig blijft.

Een opslagplaats met pakketten uit Azure DevOps-feed gebruiken

Als u python-pakketten actief ontwikkelt voor uw machine learning-toepassing, kunt u deze hosten in een Azure DevOps-opslagplaats als artefacten en deze publiceren als feed. Met deze aanpak kunt u de DevOps-werkstroom integreren voor het bouwen van pakketten met uw Azure Machine Learning-werkruimte. Lees Aan de slag met Python-pakketten in Azure Artifacts voor meer informatie over het instellen van Python-feeds met Behulp van Azure DevOps

Deze benadering maakt gebruik van een persoonlijk toegangstoken om te verifiëren bij de opslagplaats. Dezelfde benadering is van toepassing op andere opslagplaatsen met verificatie op basis van tokens, zoals privé-GitHub-opslagplaatsen.

  1. Maak een persoonlijk toegangstoken (PAT) voor uw Azure DevOps-exemplaar. Stel het bereik van het token in op Verpakking > lezen.

  2. Voeg de Azure DevOps-URL en PAT toe als werkruimte-eigenschappen met behulp van de methode 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. Maak een Azure Machine Learning-omgeving en voeg Python-pakketten toe vanuit de feed.

    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
    

De omgeving is nu klaar om te worden gebruikt in trainingsuitvoeringen of implementaties van webservice-eindpunten. Bij het bouwen van de omgeving gebruikt Azure Machine Learning Service de PAT om zich te verifiëren bij de feed met de overeenkomende basis-URL.

Een opslagplaats met pakketten uit privéopslag gebruiken

U kunt pakketten gebruiken vanuit een Azure-opslagaccount binnen de firewall van uw organisatie. Het opslagaccount kan een gecureerde set pakketten of een interne spiegel van openbaar beschikbare pakketten bevatten.

Zie Een Azure Machine Learning-werkruimte en bijbehorende resources beveiligen om dergelijke privéopslag in te stellen. U moet ook de Azure Container Registry (ACR) achter het virtuele netwerk plaatsen.

Belangrijk

U moet deze stap voltooien om modellen te kunnen trainen of implementeren met behulp van de opslagplaats voor privépakketten.

Nadat u deze configuraties hebt voltooid, kunt u verwijzen naar de pakketten in de Definitie van de Azure Machine Learning-omgeving door hun volledige URL in Azure Blob Storage.

Volgende stappen