Panoramica della valutazione EvalDLL
La libreria EvalDLL fornisce metodi per valutare i modelli di CNTK pre-training salvati nel formato modello-v1 CNTK. È disponibile in C++ (solo in Windows e Linux) e C# (solo in Windows).
Valutazione di diversi tipi di dati e livelli
Attualmente la libreria Eval supporta i vettori per l'input e l'output. Ciò significa che il vettore di input deve corrispondere ai nodi di input nel modello (funzionalità). Alcuni modelli vengono sottoposti a training con immagini (ad esempio CIFAR-10) ma queste immagini vengono vettorializzate prima di tutto nella rete. Ad esempio, il set di dati CIFAR-10 è costituito da piccole immagini (32 pixel di 32 pixel) o valori RGB. Anche se ogni è una coordinata 3 dimensionale (larghezza, altezza, colore), i dati vengono vettorializzati in un vettore 1dimensionale. È quindi importante convertire i dati non elaborati nel formato vettore prima della valutazione. Questa conversione deve essere eseguita nello stesso modo di quando viene inserita nella rete per il training.
Per altre informazioni, vedere la pagina Valuta trasformazioni immagine , in particolare durante la gestione delle immagini.
Anche se un modello già sottoposto a training ha un set specifico di nodi di output, a volte è consigliabile ottenere i valori di altri nodi durante la valutazione (ad esempio livelli nascosti). È possibile usare l'interfaccia a livello di codice, vedere la pagina Valuta livelli nascosti per altre informazioni.
Limitazioni correnti
- Valutazione con thread singolo. La libreria EvalDll di valutazione CNTK e, per estensione, la libreria EvalWrapper gestita, sono a thread singolo e a una singola entrancy. Le valutazioni simultanee di una singola istanza di modello non sono supportate. È tuttavia possibile caricare più istanze di un modello e valutare ogni modello con un singolo thread. Ciò consente la valutazione di più modelli in parallelo, ma ogni modello con un singolo thread.
- Qualsiasi programma che collega le librerie di valutazione predefinite (
Cntk.Eval
e le DLL in Windows eCntk.Eval.Wrapper
libCntk.Eval
in Linux) del pacchetto binario CNTK deve usare la stessa versione del compilatore usata per compilare le librerie predefinite.