Przegląd oceny EvalDLL
Biblioteka EvalDLL udostępnia metody oceny wstępnie wytrenowanych modeli CNTK zapisanych w formacie CNTK model-v1. Jest ona dostępna w języku C++ (w systemach Windows i Linux) i C# (tylko w Windows).
Ocenianie różnych typów danych i warstw
Obecnie biblioteka Eval obsługuje wektory dla danych wejściowych i wyjściowych. Oznacza to, że wektor wejściowy musi być zgodny z węzłami wejściowymi w modelu (funkcje). Niektóre modele są trenowane przy użyciu obrazów (np. CIFAR-10), jednak te obrazy są najpierw wektoryzowane, a następnie przekazywane do sieci. Na przykład zestaw danych CIFAR-10 składa się z małych obrazów (32 pikseli o 32 piksele) lub wartości RGB. Chociaż każda z nich jest współrzędną 3-wymiarową (szerokość, wysokość, kolor), dane są wektoryzowane do wektora 1-wymiarowego. Dlatego ważne jest przekonwertowanie danych pierwotnych na format wektora przed oceną. Ta konwersja powinna być wykonywana w taki sam sposób, jak w przypadku, gdy są przekazywane do sieci na potrzeby trenowania.
Aby uzyskać więcej informacji, szczególnie podczas pracy z obrazami, zapoznaj się ze stroną Evaluate Image Transforms (Ocena przekształceń obrazów ).
Mimo że już wytrenowany model ma określony zestaw węzłów wyjściowych, czasami pożądane jest uzyskanie wartości innych węzłów podczas oceny (np. warstwy ukryte). Jest to możliwe przy użyciu interfejsu programowego. Więcej informacji można znaleźć na stronie Ocena ukrytych warstw .
Bieżące ograniczenia
- Ocena jednowątkowa. Biblioteka CNTK evaluation EvalDll, a rozszerzenie zarządzanej biblioteki EvalWrapper jest pojedynczą wątkową i pojedynczą ponowną intrygą. Współbieżne oceny pojedynczego wystąpienia modelu nie są obsługiwane. Można jednak załadować wiele wystąpień modelu i ocenić każdy model za pomocą jednego wątku. Umożliwia to równoległe ocenianie wielu modeli, ale każdy model z jednym wątkiem.
- Każdy program łączący wstępnie utworzone biblioteki ewaluacyjne (
Cntk.Eval
iCntk.Eval.Wrapper
biblioteki DLL w Windows ilibCntk.Eval
w systemie Linux) pakietu binarnego CNTK powinien używać tej samej wersji kompilatora, co jest używane do kompilowania wstępnie utworzonych bibliotek.