Visão geral da avaliação da EvaldLL
A biblioteca EvalDLL fornece métodos para avaliar modelos de CNTK pré-treinados que são guardados no formato modelo-v1 CNTK. Está disponível em C++ (em Windows e Linux) e C# (apenas em Windows).
Avaliação de diferentes tipos e camadas de dados
Atualmente, a biblioteca Eval suporta vetores para entrada e saída. Isto significa que o vetor de entrada deve coincidir com os nosmos de entrada no modelo (características). Alguns modelos são treinados com imagens (por exemplo, CIFAR-10) no entanto, estas imagens são vectorizadas primeiro e depois alimentadas na rede. Por exemplo, o conjunto de dados CIFAR-10 é composto por pequenas imagens (32 pixels por 32 pixels) ou valores RGB. Embora cada um seja uma coordenada 3 dimensional (largura, altura, cor), os dados são vectorizados num vetor unidimensional. É assim importante converter os dados brutos no formato vetorial antes da avaliação. Esta conversão deve ser feita da mesma forma que quando alimentada à rede para treino.
Consulte a página 'Avaliar a imagem Transforma's para obter mais informações, especialmente quando lida com imagens.
Embora um modelo já treinado tenha um conjunto específico de nós de saída, por vezes é desejável obter os valores de outros nós durante a avaliação (por exemplo, camadas ocultas). Isto é possível usando a interface programática, consulte a página 'Avaliar Camadas Ocultas ' para obter mais informações.
Limitações atuais
- Avaliação de um único roscado. A CNTK a biblioteca EvalDll de avaliação, e por extensão a biblioteca gerida EvalWrapper, são únicas roscadas e uma única reentrância. Não são apoiadas avaliações simultâneas de um único modelo caso. No entanto, é possível carregar várias instâncias de um modelo e avaliar cada modelo com um único fio. Isto permite que vários modelos sejam avaliados em paralelo, mas cada modelo com um único fio.
- Qualquer programa que ligue as bibliotecas de avaliação pré-construídas (
Cntk.Eval
eCntk.Eval.Wrapper
DLLs em Windows, elibCntk.Eval
em Linux) do pacote binário CNTK deve utilizar a mesma versão do compilador que é usada para construir as bibliotecas pré-construídas.