De voorspellings-API aanroepen
Nadat u uw model hebt getraind, kunt u afbeeldingen programmatisch testen door ze naar het voorspellings-API-eindpunt te verzenden. In deze handleiding leert u hoe u de voorspellings-API aanroept om een afbeelding te scoren. U leert de verschillende manieren waarop u het gedrag van deze API kunt configureren om aan uw behoeften te voldoen.
Notitie
In dit document wordt het gebruik van de .NET-clientbibliotheek voor C# gedemonstreerd om een afbeelding te verzenden naar de voorspellings-API. Zie de Prediction API-verwijzing voor meer informatie en voorbeelden.
Instellen
Uw getrainde iteratie publiceren
Op de Custom Vision-webpagina selecteert u uw project en vervolgens selecteert u het tabblad Prestaties.
Als u afbeeldingen wilt verzenden naar de voorspellings-API, moet u eerst uw iteratie voor voorspelling publiceren. Dit kan door Publiceren te selecteren en een naam op te geven voor de gepubliceerde iteratie. Hierdoor wordt uw model toegankelijk voor de voorspellings-API van uw Custom Vision Azure-resource.

Zodra uw model is gepubliceerd, wordt het label Gepubliceerd weergegeven naast uw iteratie in de zijbalk aan de linkerkant. De naam wordt weergegeven in de beschrijving van de iteratie.

De URL en voorspellingssleutel ophalen
Zodra uw model is gepubliceerd, kunt u de vereiste gegevens ophalen door Voorspellings-URL te selecteren. Hiermee opent u een dialoogvenster met informatie over het gebruik van de voorspellings-API, met inbegrip van de voorspellings-URL en voorspellingssleutel.


Gegevens verzenden naar de service
In deze handleiding wordt ervan uitgenomen dat u al een CustomVisionPredictionClient-object met de naam hebt gemaakt met uw Custom Vision voorspellingssleutel en predictionClient eindpunt-URL. Volg een van de quickstartsvoor instructies over het instellen van deze functie.
In deze handleiding gebruikt u een lokale afbeelding, dus download een afbeelding die u wilt verzenden naar uw getrainde model. De volgende code vraagt de gebruiker om een lokaal pad op te geven en haalt de bytestream van het bestand op dat pad op.
Console.Write("Enter image file path: ");
string imageFilePath = Console.ReadLine();
byte[] byteData = GetImageAsByteArray(imageFilePath);
Neem de volgende helpermethode op:
private static byte[] GetImageAsByteArray(string imageFilePath)
{
FileStream fileStream = new FileStream(imageFilePath, FileMode.Open, FileAccess.Read);
BinaryReader binaryReader = new BinaryReader(fileStream);
return binaryReader.ReadBytes((int)fileStream.Length);
}
De classifyImageAsync-methode neemt de project-id en de lokaal opgeslagen afbeelding en scoort de afbeelding op het opgegeven model.
// Make a prediction against the new project
Console.WriteLine("Making a prediction:");
var result = predictionApi.ClassifyImageAsync(project.Id, publishedModelName, byteData);
Bepalen hoe de gegevens moeten worden verwerkt
U kunt desgewenst configureren hoe de service de scoring-bewerking moet uitvoeren door alternatieve methoden te kiezen (zie de methoden van de klasse CustomVisionPredictionClient).
U kunt een niet-asynsyntatische versie van de bovenstaande methode gebruiken voor het gemak, maar dit kan ertoe leiden dat het programma voor een merkbare hoeveelheid tijd wordt vergrendeld.
De -WithNoStore-methoden vereisen dat de service de voorspellingsafbeelding niet behoudt nadat de voorspelling is voltooid. Normaal gesproken behoudt de service deze afbeeldingen, zodat u ze kunt toevoegen als trainingsgegevens voor toekomstige iteraties van uw model.
De methoden -WithHttpMessages retourneren het onbewerkte HTTP-antwoord van de API-aanroep.
Resultaten van de service krijgen
De service retourneert resultaten in de vorm van een ImagePrediction-object. De eigenschap Predictions bevat een lijst met PredictionModel-objecten, die elk één objectvoorspelling vertegenwoordigen. Ze bevatten de naam van het label en de coördinaten van het begrensingsvak waar het object in de afbeelding is gedetecteerd. Uw app kan deze gegevens vervolgens parseren om bijvoorbeeld de afbeelding met gelabelde objectvelden op een scherm weer te geven.
Volgende stappen
In deze handleiding hebt u geleerd hoe u afbeeldingen naar uw aangepaste afbeeldingsclassificeerder/detector kunt verzenden en een antwoord via een programma kunt ontvangen met de C# SDK. Hierna leert u hoe u end-to-end-scenario's met C# voltooit of aan de slag gaat met een andere taal-SDK.