Voorbeelden van modelevaluatie
Voorbeelden voor het gebruik van de CNTK Eval-bibliotheek in C++, C#/.NET en Python vindt u in de map Voorbeelden/Evaluatie in GitHub, evenals in het binaire downloadpakket van CNTK op de pagina CNTK Releases.
De CNTKLibraryEvalExamples bevat codevoorbeelden die laten zien hoe u de API voor CNTK Library Eval in C++ en C# kunt gebruiken.
CNTKLibraryCSEvalCPUOnlyExamples maakt gebruik van het CNTK Library CPU-Only NuGet-pakket om modellen te evalueren op alleen CPU-apparaten in C#.
CNTKLibraryCSEvalGPUExamples maakt gebruik van het CNTK Library GPU NuGet-pakket om modellen te evalueren op apparaten met Nvidia GPU in C#.
CNTKLibraryCPPEvalCPUOnlyExamples maakt gebruik van de CNTK Library C++ API om modellen te evalueren op apparaten die alleen voor CPU's zijn gebruikt. Het maakt gebruik van het NuGet-pakket CNTK Library CPU-Only.
CNTKLibraryCPPEvalGPUExamples maakt gebruik van de CNTK Library C++ API om modellen te evalueren op apparaten met Nvidia GPU. Het maakt gebruik van het CNTK Library GPU NuGet-pakket.
UWPImageRecognition bevat een voorbeeld met behulp van CNTK UWP-bibliotheek voor modelevaluatie. Het laat ook zien hoe u de bibliotheek in C# gebruikt via een C++/CX-wrapper.
Op Windows,
- U hebt Visual Studio 2017 nodig om deze voorbeelden te kunnen gebruiken.
- De voorbeelden moeten worden gebouwd voor het 64-bits doelplatform. Anders treden er enkele problemen op bij het aanroepen van de bibliotheek. Raadpleeg ook de pagina Problemen oplossen CNTK voor meer informatie.
- Na een geslaagde build wordt het uitvoerbare bestand opgeslagen onder de map $(SolutionDir)....$(Platform)$(ProjectName).$(Configuration)\ bijvoorbeeld ....\X64\CNTKLibraryCSEvalCPUOnlyExamples.Release\CNTKLibraryCSEvalCPUOnlyExamples.exe.
In Linux wordt alleen C++ ondersteund. Raadpleeg de Makefile
voor het bouwen van voorbeelden. De doelnaam CNTKLIBRARY_CPP_EVAL_EXAMPLES wordt gebruikt om CNTKLibraryCPPEvalExamples te bouwen.
De CNTKLibraryEvalExamples bevat voorbeeldcode om meerdere evaluatieaanvragen parallel te evalueren. De voorbeeldcode laat ook zien hoe u modelparameters kunt delen tussen meerdere exemplaren van hetzelfde model om het geheugengebruik te verminderen.
- EvaluateMultipleImagesInParallelAsync() in C# laat zien hoe u gelijktijdige aanvragen evalueert met behulp van CNTK beheerde C#/.NET-API.
- ParallelEvaluationExample() is het C++-voorbeeld met gelijktijdige evaluatie met behulp van CNTK C++-bibliotheek-API.
- EvaluateIntermediateLayer() in C# laat zien hoe u tussenliggende lagen in een model evalueert met behulp van CNTK beheerde C#/.NET-API.
- EvaluateIntermediateLayer() is het C++-voorbeeld waarin wordt getoond hoe u tussenliggende lagen in een model evalueert met behulp van CNTK C++-bibliotheek-API.
- EvaluateCombinedOutputs() in C# laat zien hoe u meerdere uitvoer evalueert met behulp van CNTK beheerde C#/.NET-API.
- EvaluateCombinedOutputs() is het C++-voorbeeld waarin wordt getoond hoe u meerdere uitvoer kunt evalueren met behulp van CNTK C++-bibliotheek-API.
In het voorbeeld EvaluationSingleImageAsync()
ziet u hoe u evaluatie asynchroon uitvoert met behulp van de extensiemethode EvaluateAsync()
.
U kunt ook Python gebruiken om een vooraf getraind model te evalueren, zoals hier wordt beschreven.
In het Java-voorbeeld ziet u hoe u een model evalueert met behulp van de Java-API. Houd er rekening mee dat de Java-API nog steeds experimenteel is en onderhevig is aan wijzigingen.
Raadpleeg Windows en Linux-instructies voor het bouwen van het Java-voorbeeld.
Raadpleeg EvalDll-Examples voor meer informatie.