Delen via


Zelfstudie: Een Azure Machine Learning-model trainen en implementeren

Van toepassing op:ja-pictogram IoT Edge 1.1

Belangrijk

IoT Edge 1.1 einddatum van de ondersteuning was 13 december 2022. Raadpleeg het levenscyclusbeleid van Microsoft voor informatie over hoe dit product of deze service, technologie of API wordt ondersteund. Zie IoT Edge-bijwerken voor meer informatie over het bijwerken naar de nieuwste versie van IoT Edge.

In dit artikel voeren we de volgende taken uit:

  • Gebruik Azure Machine Learning Studio om een machine learning-model te trainen.
  • Verpak het getrainde model als een containerafbeelding.
  • Implementeer de container-image als een Azure IoT Edge-module.

Machine Learning Studio is een fundamenteel blok dat wordt gebruikt voor het experimenteren, trainen en implementeren van machine learning-modellen.

De stappen in dit artikel kunnen doorgaans worden uitgevoerd door gegevenswetenschappers.

In deze sectie van de zelfstudie leert u het volgende:

  • Maak Jupyter-notebooks in een Azure Machine Learning-werkruimte om een machine learning-model te trainen.
  • Containeriseer het getrainde machine learning-model.
  • Maak een IoT Edge-module op basis van het machine learning-model in containers.

Vereiste voorwaarden

Dit artikel maakt deel uit van een reeks voor een zelfstudie over het gebruik van Machine Learning in IoT Edge. Elk artikel in de reeks bouwt voort op het werk in het vorige artikel. Als u direct bij dit artikel bent aangekomen, bekijk dan het eerste artikel in de reeks.

Azure Machine Learning instellen

We gebruiken Machine Learning Studio om de twee Jupyter-notebooks en ondersteunende bestanden te hosten. Hier maken en configureren we een Machine Learning-project. Als u Jupyter of Machine Learning Studio nog niet hebt gebruikt, zijn dit twee inleidende documenten:

Opmerking

Nadat de service is ingesteld, kan Machine Learning vanaf elke computer worden geopend. Tijdens de installatie moet u de ontwikkel-VM gebruiken, die alle bestanden bevat die u nodig hebt.

Azure Machine Learning Visual Studio Code-extensie installeren

Visual Studio Code op de ontwikkel-VM moet deze extensie hebben geïnstalleerd. Als u een ander exemplaar gebruikt, installeert u de extensie opnieuw zoals beschreven in De Visual Studio Code-extensie instellen.

Een Azure Machine Learning-account maken

Als u resources wilt inrichten en workloads wilt uitvoeren in Azure, meldt u zich aan met de referenties van uw Azure-account.

  1. Open in Visual Studio Code het opdrachtenpalet dooropdrachtpaletweergeven> te selecteren in de menubalk.

  2. Voer de opdracht Azure: Sign In in het opdrachtenpalet in om het aanmeldingsproces te starten. Volg de instructies om het aanmelden te voltooien.

  3. Maak een Machine Learning-rekenproces om uw workload uit te voeren. Voer in het opdrachtpalet de opdracht Azure ML: Create Computein.

  4. Selecteer uw Azure-abonnement.

  5. Selecteer + Nieuwe Azure ML-werkruimte maken en voer de naam turbofandemo in.

  6. Selecteer de resourcegroep die u voor deze demo hebt gebruikt.

  7. U ziet nu de voortgang van het maken van een werkruimte in de rechterbenedenhoek van het Visual Studio Code-venster: Werkruimte maken: turobofandemo. Deze stap kan een paar minuten duren.

  8. Wacht tot de werkruimte met succes is gemaakt. Het zou moeten zeggen Azure ML-werkruimte turbofandemo gemaakt.

Jupyter Notebook-bestanden uploaden

We uploaden voorbeeldnotebookbestanden naar een nieuwe Machine Learning-werkruimte.

  1. Ga naar ml.azure.com en meld u aan.

  2. Selecteer uw Microsoft-directory, Azure-abonnement en de zojuist gemaakte Machine Learning-werkruimte.

    Schermopname van het selecteren van uw Azure Machine Learning-werkruimte.

  3. Nadat u zich hebt aangemeld bij uw Machine Learning-werkruimte, gaat u naar de sectie Notitieblokken met behulp van het menu aan de linkerkant.

  4. Selecteer het tabblad Mijn bestanden .

  5. Selecteer Uploaden (het opwaartse pijlpictogram).

  6. Ga naar C:\source\IoTEdgeAndMlSample\AzureNotebooks. Selecteer alle bestanden in de lijst en selecteer Openen.

  7. Schakel het selectievakje In dat ik de inhoud van deze bestanden vertrouw .

  8. Selecteer Uploaden om te beginnen met uploaden. Selecteer Vervolgens Gereed nadat het proces is voltooid.

Jupyter Notebook-bestanden

Laten we de bestanden bekijken die u hebt geüpload naar uw Machine Learning-werkruimte. De activiteiten in dit gedeelte van de zelfstudie omvatten twee notebookbestanden, die enkele ondersteunende bestanden gebruiken.

  • 01-turbofan_regression.ipynb: in dit notebook wordt de Machine Learning-werkruimte gebruikt om een machine learning-experiment te maken en uit te voeren. In grote lijnen voert het notebook de volgende stappen uit:

    1. Hiermee downloadt u gegevens uit het Azure Storage-account dat is gegenereerd door de apparaatharnas.
    2. Verkent en bereidt de gegevens voor, en gebruikt dan de gegevens om het classificatiemodel te trainen.
    3. Evalueert het model uit het experiment met behulp van een testgegevensset (Test_FD003.txt).
    4. Publiceert het beste classificatiemodel naar de Machine Learning-werkruimte.
  • 02-turbofan_deploy_model.ipynb: Dit notebook neemt het model dat in het vorige notebook is gemaakt en gebruikt het om een containerimage te maken die gereed is voor implementatie op een IoT Edge-apparaat. Het notebook voert de volgende stappen uit:

    1. Hiermee maakt u een scorescript voor het model.
    2. Maakt een containerimage met behulp van het classificatiemodel dat is opgeslagen in de machine learning-werkruimte.
    3. De image wordt geïmplementeerd als een webservice in Azure Container Instances.
    4. Gebruikt de webservice om te valideren of het model en de afbeelding werken zoals verwacht. De gevalideerde afbeelding wordt geïmplementeerd op ons IoT Edge-apparaat in het gedeelte Aangepaste IoT Edge-modules maken en implementeren van deze zelfstudie.
  • Test_FD003.txt: dit bestand bevat de gegevens die we als testset gebruiken wanneer we onze getrainde classificatie valideren. We hebben ervoor gekozen om de testgegevens te gebruiken, zoals opgegeven voor de oorspronkelijke wedstrijd, als onze testset voor zijn eenvoud.

  • RUL_FD003.txt: dit bestand bevat de resterende levensduur (RUL) voor de laatste cyclus van elk apparaat in het bestand Test_FD003.txt. Zie de readme.txt en de Modeling.pdf bestanden in C:\source\IoTEdgeAndMlSample\data\Turbofan voor een gedetailleerde uitleg van de schadepropagatie gegevens.

  • Utils.py: dit bestand bevat een set Python-hulpprogrammafuncties voor het werken met gegevens. Het eerste notebook bevat een gedetailleerde uitleg van de functies.

  • README.md: In dit readme-bestand wordt het gebruik van de notebooks beschreven.

Voer de Jupyter-notebooks uit

Nu de werkruimte is gemaakt, kunt u de notebooks uitvoeren.

  1. Selecteer op de pagina Mijn bestanden01-turbofan_regression.ipynb.

    Schermopname die laat zien hoe je het eerste notebook selecteert om uit te voeren.

  2. Als het notitieblok wordt vermeld als Niet vertrouwd, selecteert u de widget Niet vertrouwd in de rechterbovenhoek van het notitieblok. Wanneer het dialoogvenster wordt weergegeven, selecteert u Vertrouwen.

  3. Lees voor de beste resultaten de documentatie voor elke cel en voer deze afzonderlijk uit. Selecteer Uitvoeren op de werkbalk. Op een later tijdstip zult u merken dat het handig is om meerdere cellen uit te voeren. U kunt waarschuwingen voor upgraden en veroudering negeren.

    Wanneer een cel actief is, wordt een sterretje tussen de vierkante haken ([*]) weergegeven. Wanneer de bewerking van de cel is voltooid, wordt het sterretje vervangen door een getal en kan relevante uitvoer worden weergegeven. De cellen in een notebook worden opeenvolgend gebouwd en slechts één cel tegelijk kan worden uitgevoerd.

    U kunt ook uitvoeringsopties in het menu Cel gebruiken. Selecteer Ctrl+Enter om een cel uit te voeren en selecteer Shift+Enter om een cel uit te voeren en naar de volgende cel te gaan.

    Hint

    Vermijd voor consistente celbewerkingen hetzelfde notebook uit te voeren vanaf meerdere tabbladen in uw browser.

  4. Voer in de cel na de instructies voor globale eigenschappen instellen de waarden in voor uw Azure-abonnement, instellingen en resources. Voer vervolgens de cel uit.

    Schermopname van het instellen van globale eigenschappen in het notebook.

  5. In de cel voorafgaand aan Werkruimtedetails, nadat deze is uitgevoerd, zoekt u naar de link waarmee u zich kunt aanmelden om te authenticeren.

    Schermopname van de aanmeldingsprompt voor apparaatverificatie.

    Open de koppeling en voer de opgegeven code in. Met deze aanmeldingsprocedure wordt het Jupyter-notebook geverifieerd voor toegang tot Azure-resources met behulp van de platformoverschrijdende opdrachtregelinterface van Microsoft Azure.

    Schermopname van de verificatietoepassing op apparaatbevestiging.

  6. Kopieer in de cel die voorafgaat aan De resultaten verkennen de waarde uit de uitvoerings-id en plak deze bij de uitvoerings-id in de cel die volgt op Reconstitueer een run.

    Schermopname die het kopiëren van de run-ID tussen cellen laat zien.

  7. Voer de resterende cellen in het notebook uit.

  8. Sla het notitieblok op en ga terug naar de projectpagina.

  9. Open 02-turbofan_deploy_model.ipynb en voer elke cel uit. U moet zich aanmelden om u te verifiëren in de cel die volgt op Werkruimte configureren.

  10. Sla het notitieblok op en ga terug naar de projectpagina.

Verifieer succes

Als u wilt controleren of de notitieblokken succesvol zijn voltooid, controleert u of er een aantal items zijn aangemaakt.

  1. Selecteer vernieuwen op het tabblad Mijn bestanden in uw Machine Learning-notitieblokken.

  2. Controleer of de volgende bestanden zijn gemaakt.

    Bestand Beschrijving
    ./aml_config/.azureml/config.json Configuratiebestand dat wordt gebruikt om de Machine Learning-werkruimte te maken.
    ./aml_config/model_config.json Configuratiebestand dat we nodig hebben om het model te implementeren in de turbofanDemo Machine Learning-werkruimte in Azure.
    myenv.yml Bevat informatie over de afhankelijkheden voor het geïmplementeerde Machine Learning-model.
  3. Controleer of de volgende Azure-resources zijn gemaakt. Sommige resourcenamen worden toegevoegd met willekeurige tekens.

    Azure resource Naam
    Azure Machine Learning-werkruimte turborfanDemo
    Azure Container Registry (Azure-containerregister) turbofandemoxxxxxxxxxxxx
    Analyses van toepassingen turbofaninsightxxxxxxxxxx
    Azure Key Vault turbofankeyvaultbxxxxxxxxxx
    Azure Storage turbofanstoragexxxxxxxxxxx

Fouten opsporen

U kunt Python-instructies invoegen in het notebook voor foutopsporing, zoals de print() opdracht om waarden weer te geven. Als u variabelen of objecten ziet die niet zijn gedefinieerd, voert u de cellen uit waarin ze voor het eerst worden gedeclareerd of geïnstantieerd.

Mogelijk moet u eerder gemaakte bestanden en Azure-resources verwijderen als u de notebooks opnieuw moet uitvoeren.

De hulpbronnen opschonen

Deze zelfstudie maakt deel uit van een set waarin elk artikel voortbouwt op het werk dat in de vorige artikelen is uitgevoerd. Wacht totdat u de laatste tutorial hebt voltooid om resources schoon te maken.

Volgende stappen

In dit artikel hebben we twee Jupyter-notebooks gebruikt die worden uitgevoerd in Machine Learning Studio om de gegevens van de turbofan-apparaten te gebruiken voor:

  • Train een RUL-classificator.
  • Sla de classificatie op als een model.
  • Maak een containerafbeelding.
  • Implementeer en test de image als een webservice.

Ga door naar het volgende artikel om een IoT Edge-apparaat te maken.