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.
Maak een persoonlijk toegangstoken (PAT) voor uw Azure DevOps-exemplaar. Stel het bereik van het token in op Verpakking > lezen.
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)
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
- Meer informatie over bedrijfsbeveiliging in Azure Machine Learning