Avaliação de CNTK usando cntk.exe
Avaliando um modelo usando cntk.exe
Avaliar um modelo usando o próprio CNTK executável, ou seja, cntk.exe, é semelhante ao processo de treinamento. Mas, em vez de usar o comando "treinar", o comando "eval" é colocado no arquivo de configuração.
Usar o CNTK executável para avaliação tem as seguintes vantagens:
Funcionalidade de CPU/GPU
Assim como o treinamento, CNTK pode aproveitar a GPU durante a avaliação. Consulte a página Visão geral do arquivo de configuração para obter mais detalhes.
Leitores (e suas transformações)
Semelhante ao treinamento de modelo, os plug-ins de leitor (por exemplo, ImageReader) podem executar algumas transformações de dados nos dados de entrada antes de alimentá-los para a rede durante o treinamento. Essas transformações não fazem parte de CNTK (por si só), mas dos leitores. Para alimentar os mesmos dados transformados durante a avaliação, as transformações precisam ocorrer antes da alimentação. Ao avaliar o uso do CNTK executável, o mesmo leitor (como usado durante a avaliação) pode ser usado e, portanto, a mesma transformação pode ser aplicada. Como abordaremos mais adiante nesta página, ao usar a abordagem programática, essas transformações precisarão ser executadas programaticamente fora do mecanismo de avaliação antes de enviar os dados para avaliação (supondo que o modelo tenha sido treinado com dados transformados).
Ajustes de modelo
Ao usar CNTK para avaliação, há a possibilidade de modificar o layout do modelo usando o BrainScript. Isso permite recursos adicionais, como expor camadas ocultas para avaliação. Consulte a página BrainScript para obter mais informações.
Usar o executável CNTK para avaliação tem as seguintes desvantagens:
Tempo de rotação do processo
O CNTK executável (por natureza) é executado como um processo e, portanto, levará algum tempo para girar. Para serviços em que muitas solicitações precisam ser processadas dinamicamente, a melhor opção seria usar a Biblioteca de Avaliação em um serviço.
Entrada/saída baseada em arquivo
O executável CNTK lê os dados de entrada dos arquivos e grava os dados de saída em um arquivo. Para serviços em execução na nuvem, isso pode causar alguns problemas de desempenho.
Observação: se você fizer a rota de avaliação de um modelo de CNTK com o executável CNTK, verifique se os parâmetros são adequados para a avaliação. Em particular, especificar um tamanho apropriado para o MiniBatchSize. Consulte a página Solucionar problemas CNTK para obter mais informações.