Een Python-ontwikkelomgeving instellen voor Azure Machine Learning
Meer informatie over het configureren van een Python-ontwikkelomgeving voor Azure Machine Learning.
In de volgende tabel ziet u elke ontwikkelomgeving die in dit artikel wordt behandeld, samen met de voor- en nadelen.
Omgeving | Voordelen | Nadelen |
---|---|---|
Lokale omgeving | Volledig beheer van uw ontwikkelomgeving en afhankelijkheden. Voer uit met een buildhulpprogramma, omgeving of IDE van uw keuze. | Het duurt langer om aan de slag te gaan. De benodigde SDK-pakketten moeten worden geïnstalleerd en er moet ook een omgeving worden geïnstalleerd als u er nog geen hebt. |
De Data Science Virtual Machine (DSVM) | Vergelijkbaar met het cloudgebaseerd rekenproces (Python is vooraf geïnstalleerd), maar met vooraf geïnstalleerde aanvullende populaire hulpprogramma's voor gegevenswetenschap en machine learning. Eenvoudig te schalen en te combineren met andere aangepaste hulpprogramma's en werkstromen. | Een tragere ervaring om aan de slag te gaan in vergelijking met het cloudgebaseerde rekenproces. |
Azure Machine Learning-rekeninstantie | Eenvoudigste manier om aan de slag te gaan. De SDK is al geïnstalleerd op uw werkruimte-VM en notebookzelfstudies zijn vooraf gekloond en klaar om te worden uitgevoerd. | Gebrek aan controle over uw ontwikkelomgeving en afhankelijkheden. Extra kosten voor Linux-VM (VM kan worden gestopt wanneer deze niet wordt gebruikt om kosten te voorkomen). Zie prijsinformatie. |
Dit artikel bevat ook aanvullende gebruikstips voor de volgende hulpprogramma's:
Jupyter Notebooks: als u al Gebruikmaakt van Jupyter Notebooks, heeft de SDK enkele extra's die u moet installeren.
Visual Studio Code: als u Visual Studio Code gebruikt, bevat de Azure Machine Learning-extensie taalondersteuning voor Python en functies om het werken met Azure Machine Learning veel gemakkelijker en productiever te maken.
Vereisten
- Azure Machine Learning-werkruimte. Als u nog geen werkruimte hebt, kunt u een Azure Machine Learning-werkruimte maken via de Azure Portal, Azure CLI en Azure Resource Manager-sjablonen.
Alleen lokaal en DSVM: een werkruimteconfiguratiebestand maken
Het configuratiebestand voor de werkruimte is een JSON-bestand dat de SDK vertelt hoe deze moet communiceren met uw Azure Machine Learning-werkruimte. Het bestand heet config.json en heeft de volgende indeling:
{
"subscription_id": "<subscription-id>",
"resource_group": "<resource-group>",
"workspace_name": "<workspace-name>"
}
Dit JSON-bestand moet zich in de mapstructuur bevinden die uw Python-scripts of Jupyter Notebooks bevat. Deze kan zich in dezelfde map bevinden, een submap met de naam.azureml* of in een bovenliggende map.
Als u dit bestand wilt gebruiken vanuit uw code, gebruikt u de MLClient.from_config
methode . Met deze code worden de gegevens uit het bestand geladen en wordt verbinding gemaakt met uw werkruimte.
Maak een werkruimteconfiguratiebestand op een van de volgende manieren:
Azure Machine Learning Studio
Download het bestand:
- Aanmelden bij Azure Machine Learning-studio
- Selecteer in de rechterbovenhoek Azure Machine Learning-studio werkbalk de naam van uw werkruimte.
- Selecteer de koppeling Configuratiebestand downloaden .
Azure Machine Learning Python SDK
Maak een script om verbinding te maken met uw Azure Machine Learning-werkruimte. Zorg ervoor dat u ,
resource_group
, enworkspace_name
vervangt doorsubscription_id
uw eigen.VAN TOEPASSING OP: Python SDK azure-ai-ml v2 (current)
#import required libraries from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential #Enter details of your Azure Machine Learning workspace subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace = '<AZUREML_WORKSPACE_NAME>' #connect to the workspace ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
Lokale computer of externe VM-omgeving
U kunt een omgeving instellen op een lokale computer of externe virtuele machine, zoals een Azure Machine Learning-rekenproces of Datawetenschap VM.
Een lokale ontwikkelomgeving of externe VM configureren:
Maak een virtuele Python-omgeving (virtualenv, conda).
Notitie
Hoewel dit niet vereist is, wordt u aangeraden Anaconda of Miniconda te gebruiken voor het beheren van virtuele Python-omgevingen en installatiepakketten.
Belangrijk
Als u Linux of macOS gebruikt en een andere shell dan bash gebruikt (bijvoorbeeld zsh), kunnen er fouten optreden wanneer u bepaalde opdrachten uitvoert. U kunt dit probleem omzeilen door de
bash
opdracht te gebruiken om een nieuwe bash-shell te starten en de opdrachten daar uit te voeren.Activeer uw zojuist gemaakte virtuele Python-omgeving.
Installeer de Azure Machine Learning Python SDK.
Als u uw lokale omgeving wilt configureren voor het gebruik van uw Azure Machine Learning-werkruimte, maakt u een werkruimteconfiguratiebestand of gebruikt u een bestaand configuratiebestand.
Nu u uw lokale omgeving hebt ingesteld, kunt u aan de slag met Azure Machine Learning. Zie de Zelfstudie: Azure Machine Learning in een dag om aan de slag te gaan.
Jupyter Notebooks
Wanneer u een lokale Jupyter Notebook-server uitvoert, wordt u aangeraden een IPython-kernel te maken voor uw virtuele Python-omgeving. Dit zorgt ervoor dat het verwachte gedrag voor het importeren van kernels en pakketten wordt gegarandeerd.
Omgevingsspecifieke IPython-kernels inschakelen
conda install notebook ipykernel
Maak een kernel voor uw virtuele Python-omgeving. Zorg ervoor dat u vervangt door
<myenv>
de naam van uw virtuele Python-omgeving.ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
De Jupyter Notebook-server starten
Tip
Zie de opslagplaats AzureML-Examples voor bijvoorbeeld notebooks. SDK-voorbeelden bevinden zich onder /sdk/python. Bijvoorbeeld het voorbeeld van het configuratienotitieblok .
Visual Studio Code
Visual Studio Code gebruiken voor ontwikkeling:
- Installeer Visual Studio Code.
- Installeer de Azure Machine Learning Visual Studio Code-extensie (preview).
Zodra u de Visual Studio Code-extensie hebt geïnstalleerd, gebruikt u deze voor het volgende:
- Uw Azure Machine Learning-resources beheren
- Verbinding maken met een Azure Machine Learning-rekenproces
- Lokaal fouten opsporen in online-eindpunten
- Getrainde modellen implementeren.
Azure Machine Learning-rekeninstantie
Het Azure Machine Learning-rekenproces is een veilig, cloudgebaseerde Azure-werkstation dat gegevenswetenschappers een Jupyter Notebook-server, JupyterLab en een volledig beheerde machine learning-omgeving biedt.
Er is niets om te installeren of te configureren voor een rekenproces.
Maak er op elk gewenst moment een vanuit uw Azure Machine Learning-werkruimte. Geef alleen een naam op en geef een type Azure-VM op. Probeer het nu met Resources maken om aan de slag te gaan.
Zie Een Azure Machine Learning-rekenproces maken voor meer informatie over rekenprocessen, waaronder het installeren van pakketten.
Tip
Als u wilt voorkomen dat er kosten in rekening worden gebracht voor een ongebruikt rekenproces, schakelt u niet-actief afsluiten in.
Naast een Jupyter Notebook-server en JupyterLab kunt u rekenprocessen gebruiken in de geïntegreerde notebookfunctie in Azure Machine Learning-studio.
U kunt ook de Azure Machine Learning Visual Studio Code-extensie gebruiken om verbinding te maken met een extern rekenproces met behulp van VS Code.
Data Science Virtual Machine
De Datawetenschap VM is een aangepaste vm-installatiekopieën (virtuele machine) die u als ontwikkelomgeving kunt gebruiken. Het is ontworpen voor data science-werk met vooraf geconfigureerde hulpprogramma's en software, zoals:
- Pakketten zoals TensorFlow, PyTorch, Scikit-learn, XGBoost en de Azure Machine Learning SDK
- Populaire hulpprogramma's voor data science, zoals Spark Standalone en Drill
- Azure-hulpprogramma's, zoals de Azure CLI, AzCopy en Storage Explorer
- Geïntegreerde ontwikkelomgevingen (IDE's), zoals Visual Studio Code en PyCharm
- Jupyter Notebook Server
Zie de handleiding Datawetenschap VM-hulpprogramma's voor een uitgebreidere lijst met hulpprogramma's.
Belangrijk
Als u van plan bent om de Datawetenschap-VM te gebruiken als rekendoel voor uw trainings- of deductietaken, wordt alleen Ubuntu ondersteund.
De Datawetenschap-VM gebruiken als een ontwikkelomgeving:
Maak een Datawetenschap VM met behulp van een van de volgende methoden:
Gebruik de Azure Portal om een Ubuntu- of Windows-DSVM te maken.
Azure CLI gebruiken
Gebruik de volgende opdracht om een Ubuntu Datawetenschap VM te maken:
# create a Ubuntu Data Science VM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)" az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
Gebruik de volgende opdracht om een Windows-DSVM te maken:
# create a Windows Server 2016 DSVM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
Een conda-omgeving maken voor de Azure Machine Learning SDK:
conda create -n py310 python=310
Nadat de omgeving is gemaakt, activeert u deze en installeert u de SDK
conda activate py310 pip install azure-ai-ml azure-identity
Als u de Datawetenschap VM wilt configureren voor het gebruik van uw Azure Machine Learning-werkruimte, maakt u een werkruimteconfiguratiebestand of gebruikt u een bestaand configuratiebestand.
Tip
Net als bij lokale omgevingen kunt u Visual Studio Code en de Azure Machine Learning Visual Studio Code-extensie gebruiken om te communiceren met Azure Machine Learning.
Zie Datawetenschap Virtual Machines voor meer informatie.
Volgende stappen
- Een model trainen en implementeren in Azure Machine Learning met de MNIST-gegevensset.
- Zie de naslaginformatie over de Azure Machine Learning SDK voor Python.