Dela via


Översikt över utvärdering av EvalDLL

EvalDLL-biblioteket innehåller metoder för att utvärdera förtränade CNTK modeller som sparas i formatet CNTK model-v1. Den är tillgänglig i C++ (på Windows och Linux) och C# (endast på Windows).

Utvärdera olika datatyper och lager

För närvarande stöder Eval-biblioteket vektorer för indata och utdata. Det innebär att indatavektorn måste matcha indatanoderna i modellen (funktioner). Vissa modeller tränas med bilder (t.ex. CIFAR-10), men dessa bilder vektoriseras först och matas sedan in i nätverket. Datauppsättningen CIFAR-10 består till exempel av små bilder (32 bildpunkter och 32 bildpunkter) eller RGB-värden. Även om var och en är en 3-dimensionell koordinat (bredd, höjd, färg), vektoriseras data till en 1-dimensionell vektor. Det är därför viktigt att konvertera rådata till vektorformatet före utvärderingen. Den här konverteringen bör göras på samma sätt som när den matas till nätverket för träning.

Mer information finns på sidan Utvärdera bildtransformering , särskilt när du hanterar bilder.

Även om en redan tränad modell har en specifik uppsättning utdatanoder är det ibland önskvärt att hämta värdena för andra noder under utvärderingen (t.ex. dolda lager). Det här är möjligt med hjälp av det programmatiska gränssnittet. Mer information finns på sidan Utvärdera dolda lager .

Aktuella begränsningar

  • Enkel trådad utvärdering. EvalDll-biblioteket för CNTK utvärdering och det hanterade EvalWrapper-biblioteket är enkeltrådade och enkla återentrancy.the CNTK evaluation EvalDll library, and extension the managed EvalWrapper library, are single threaded and single re-entrancy. Samtidiga utvärderingar av en enskild modellinstans stöds inte. Det är dock möjligt att läsa in flera instanser av en modell och utvärdera varje modell med en enda tråd. Detta gör att flera modeller kan utvärderas parallellt, men varje modell med en enda tråd.
  • Alla program som länkar de fördefinierade utvärderingsbiblioteken (Cntk.Eval och Cntk.Eval.Wrapper DLL:er i Windows och libCntk.Eval i Linux) för det CNTK binära paketet bör använda samma kompilatorversion som den som används för att skapa de färdiga biblioteken.