Delen via


Machine Learning-pijplijnen maken en uitvoeren met behulp van onderdelen in Azure Machine Learning Studio

VAN TOEPASSING OP: Azure CLI ml-extensie v2 (huidige)

In dit artikel leert u hoe u machine learning-pijplijnen maakt en uitvoert met behulp van de Azure Machine Learning-studio en -onderdelen. U kunt pijplijnen maken zonder onderdelen te gebruiken, maar onderdelen bieden betere flexibiliteit en hergebruik. Azure Machine Learning-pijplijnen kunnen worden gedefinieerd in YAML en worden uitgevoerd vanuit de Azure CLI, geschreven in Python of samengesteld in Azure Machine Learning Studio Designer met een gebruikersinterface voor slepen en neerzetten. Dit artikel is gericht op de gebruikersinterface van Azure Machine Learning Studio Designer.

Vereisten

Notitie

Designer ondersteunt twee typen onderdelen, klassieke vooraf gebouwde onderdelen (v1) en aangepaste onderdelen (v2). Deze twee typen onderdelen zijn NIET compatibel.

Klassieke vooraf gebouwde onderdelen bieden voornamelijk vooraf gebouwde onderdelen voor gegevensverwerking en traditionele machine learning-taken, zoals regressie en classificatie. Klassieke vooraf gebouwde onderdelen worden nog steeds ondersteund, maar er zijn geen nieuwe onderdelen toegevoegd. Daarnaast biedt de implementatie van klassieke vooraf samengestelde onderdelen (v1) geen ondersteuning voor beheerde online-eindpunten (v2).

Met aangepaste onderdelen kunt u uw eigen code verpakken als onderdeel. Het biedt ondersteuning voor het delen van onderdelen in werkruimten en naadloze creatie in studio-, CLI v2- en SDK v2-interfaces.

Voor nieuwe projecten raden we u ten zeerste aan aangepaste onderdelen te gebruiken, die compatibel is met Azure Machine Learning V2 en nieuwe updates ontvangt.

Dit artikel is van toepassing op aangepaste onderdelen.

Een onderdeel registreren in uw werkruimte

Als u een pijplijn wilt bouwen met behulp van onderdelen in de gebruikersinterface van Designer, moet u eerst onderdelen registreren bij uw werkruimte. U kunt de gebruikersinterface, Azure CLI of de SDK gebruiken om onderdelen te registreren bij uw werkruimte, zodat u het onderdeel in de werkruimte kunt delen en opnieuw kunt gebruiken. Geregistreerde onderdelen ondersteunen automatische versiebeheer, zodat u het onderdeel kunt bijwerken, maar ervoor zorgen dat pijplijnen waarvoor een oudere versie is vereist, blijven werken.

In het volgende voorbeeld wordt de gebruikersinterface gebruikt om onderdelen te registreren. De bronbestanden van het onderdeel bevinden zich in de cli/jobs/pipelines-with-components/basics/1b_e2e_registered_components map van de azureml-examples opslagplaats. U moet de opslagplaats klonen.

  1. Navigeer in uw Azure Machine Learning-werkruimte naar de pagina Onderdelen en selecteer Nieuw onderdeel. Het uiterlijk van de pagina Onderdelen verschilt, afhankelijk van of u eerder onderdelen hebt gemaakt.

    Schermopname van de registratieknop op de onderdeelpagina.

    Schermopname van de registratieknop op de onderdeelpagina met kan archiveren.

    In dit voorbeeld wordt gebruikgemaakt train.ymlvan de map 1b_e2e_registered_components. Het YAML-bestand definieert de naam, het type, de interface, inclusief invoer en uitvoer, code, omgeving en opdracht van dit onderdeel. De code van dit onderdeel (train.py) bevindt zich in ./train_src de map. Deze code beschrijft de uitvoeringslogica van dit onderdeel. Zie de naslaginformatie over het YAML-schema van het opdrachtonderdeel voor meer informatie over het onderdeelschema.

    Notitie

    Voor het registreren van onderdelen in de gebruikersinterface, gedefinieerd in het YAML-onderdeelbestand, code kan alleen verwijzen naar de huidige map waar het YAML-bestand zich bevindt of de submappen. Omdat de gebruikersinterface de oudermap niet kan herkennen, kunt u ../ niet specificeren.

    additional_includes kan alleen verwijzen naar de huidige map of submap.

    Momenteel biedt de gebruikersinterface alleen ondersteuning voor het registreren van onderdelen met command het type.

  2. Selecteer Map en blader vervolgens naar de 1b_e2e_registered_components map die u wilt uploaden.

  3. Selecteer train.yml uit de Yaml-bestandsnaam.

    Schermopname van uploaden vanuit de lokale map.

  4. Selecteer Volgende en bevestig vervolgens de details van dit onderdeel. Nadat u hebt bevestigd, selecteert u Maken om het registratieproces te voltooien.

  5. Herhaal de vorige stappen om het onderdeel Score en Eval te registreren met score.yml en eval.yml.

  6. Nadat u de drie onderdelen hebt geregistreerd, kunt u uw onderdelen zien in de gebruikersinterface van studio.

Schermopname van het geregistreerde onderdeel op de onderdeelpagina.

Pijplijn maken met behulp van een geregistreerd onderdeel

  1. Maak een nieuwe pijplijn in Designer. Selecteer de optie Aangepast .

    Schermopname van het maken van een nieuwe pijplijn op de startpagina van Designer.

  2. Selecteer het potloodpictogram om de pijplijn een betekenisvolle naam te geven.

    Schermopname van de naam van de pijplijn wijzigen.

  3. In de assetbibliotheek Designer ziet u de tabbladen Gegevens, Model en Onderdelen . Selecteer Onderdelen. U kunt de onderdelen zien die zijn geregistreerd in de vorige sectie. Als er te veel onderdelen zijn, kunt u zoeken met de naam van het onderdeel.

    Schermopname van het geregistreerde onderdeel in de assetbibliotheek.

    Zoek de geregistreerde train-, score- en eval-componenten in de vorige sectie en sleep ze naar het canvas. Designer gebruikt standaard de standaardversie van het onderdeel. Als u wilt overschakelen naar een specifieke versie, dubbelklikt u op het onderdeel om het onderdeelvenster te openen.

    Schermopname van het wijzigen van de versie van het onderdeel.

  4. In dit voorbeeld gebruikt u de voorbeeldgegevens in de gegevensmap. Als u gegevens in uw werkruimte wilt registreren, selecteert u het pictogram 'Toevoegen' in de activabibliotheek en volgt u vervolgens de wizard om ze te registreren. Het gegevenstype moet worden uri_folder afgestemd op de definitie van het trainonderdeel.

    Schermopname van het toevoegen van gegevens.

  5. Sleep de gegevens naar het canvas. Uw pijplijn moet eruitzien als in de volgende schermopname.

    Schermopname van het concept van de pijplijn.

  6. Verbind de gegevens en onderdelen door verbindingen in het canvas te slepen.

    Animatie van het verbinden van de pijplijn.

  7. Dubbelklik op één onderdeel. U ziet een rechterdeelvenster waarin u het onderdeel kunt configureren.

    Schermopname van de parameterinstellingen voor onderdelen.

    Voor onderdelen met primitieve typeinvoer, zoals getal, geheel getal, tekenreeks en booleaanse waarde, kunt u waarden van dergelijke invoer wijzigen in het detailvenster van het onderdeel, onder de sectie Invoer .

    U kunt ook de uitvoerinstellingen wijzigen (waar de uitvoer van het onderdeel moet worden opgeslagen) en instellingen uitvoeren (rekendoel om dit onderdeel uit te voeren) in het rechterdeelvenster.

  8. Bevorder de max_epocs invoer van de train component als invoer op pipelineniveau. Hierdoor kunt u elke keer een andere waarde aan deze invoer toewijzen voordat u de pijplijn verzendt.

    Schermopname die laat zien hoe u onderdeelinvoer naar pijplijninvoer promovt.

Notitie

Aangepaste onderdelen en de klassieke vooraf samengestelde ontwerponderdelen kunnen niet samen worden gebruikt.

Pijplijn verzenden

  1. Als u de pijplijn wilt verzenden, selecteert u Configureren en verzenden.

    Schermopname van de knop Configureren en verzenden.

  2. Vervolgens ziet u een stapsgewijze wizard. Volg de wizard om de pijplijntaak te verzenden.

Schermopname van de wizard Indienen.

In de basisstap kunt u het experiment, de weergavenaam van de taak, de taakbeschrijving, enzovoort configureren.

In de stap Invoer en uitvoer kunt u de invoer/uitvoer configureren die naar pijplijnniveau worden gepromoveerd. In de vorige stap hebben we de max_epocs van het trainingsonderdeel gepromoveerd naar pijplijninvoer, dus u moet hier waarde kunnen zien en toewijzen aan max_epocs .

In runtime-instellingen kunt u het standaardgegevensarchief en de standaard rekenkracht van de pijplijn configureren. Dit is de standaardgegevensopslag/compute voor alle onderdelen in de pijplijn. Als u echter expliciet een ander reken- of gegevensarchief instelt voor een onderdeel, respecteert het systeem de instelling op onderdeelniveau. Anders wordt de standaardwaarde voor de pijplijn gebruikt.

De stap Beoordelen en verzenden is de laatste stap om alle configuraties te controleren voordat u het verzendt. De wizard onthoudt de configuratie van uw laatste keer als u de pijplijn ooit verzendt.

Nadat u de pijplijntaak hebt verzonden, ziet u bovenaan een bericht met een koppeling naar de taakdetails. U kunt deze koppeling selecteren om de taakdetails te bekijken.

Schermopname van het inzendingsbericht.

Identiteit opgeven in pijplijntaak

Wanneer u een pipelinejob indient, kunt u de identiteit opgeven om toegang te krijgen tot de gegevens onder Run settings. De standaardidentiteit is AMLToken, die geen identiteit gebruikt. Een pijplijn kan ook UserIdentity en Managed ondersteunen. De UserIdentityidentiteit van de taak-inzender wordt gebruikt om toegang te krijgen tot invoergegevens en het resultaat naar de uitvoermap te schrijven. Als u opgeeft Managed, gebruikt het systeem de beheerde identiteit voor toegang tot de invoergegevens en schrijft het resultaat naar de uitvoermap.

Schermopname van het instellen van identiteit in een pijplijntaak.