BrainScript Train, Test, Eval
Aqui descrevemos os principais comandos train
de alto nível e test
/eval
os seus parâmetros correspondentes. Para obter comandos de nível superior adicionais consulte a página correspondente.
Comando do Comboio
Este comando pede CNTK que treine um modelo. Um exemplo para uma train
secção de comando é fornecido na página de visão geral do ficheiro Config . Os parâmetros relacionados são:
reader
– o bloco de configuração do leitor utilizado para determinar como carregar os dados de entrada. Para mais detalhes consulte o bloco Reader.SGD
– a configuração de treino SGD. Para mais detalhes consulte o bloco SGD.BrainScriptNetworkBuilder
– o bloco de configuração BrainScript. Para mais detalhes consulte BrainScript Network Builder.SimpleNetworkBuilder
– o simples bloco de configuração do construtor de rede. Para mais detalhes consulte o Simple Network Builder.cvReader
– (opcional) o bloco de configuração do leitor para dados de validação cruzada.makeMode
– se definido paratrue
(predefinido) o treino continuará a partir de qualquer época interrompida. Se estiver definido parafalse
o treino recomeçará do zero.firstMBsToShowResult
– indica quantos minibatches no início de uma época mostram resultados intermédios para individualmente.numMBsToShowResult
– indica depois de quantos minibatches os resultados intermédios devem ser mostrados.
Comando de Teste ou Eval
Estes comandos avaliam/testam uma modelo de precisão, geralmente com um conjunto de dados de teste. Os parâmetros relacionados são:
reader
– o bloco de configuração do leitor para ler os dados do teste. Para mais detalhes consulte o bloco Reader.modelPath
– o caminho para a modelo a ser avaliado.BrainScriptNetworkBuilder
– se isso for dado, o modelo não é apenas lidomodelPath
, mas construído a partir desta configuração. Isto é usado para modificar modelos em movimento para avaliação.minibatchSize
– o tamanho da minibatch para utilizar ao ler e processar o conjunto de dados.epochSize
– o tamanho do conjunto de dados. A predefinição é0
. Todo o conjunto de dados será avaliado se estiver definido para0
.numMBsToShowResult
– indica depois de quantos minibatches os resultados intermédios devem ser mostrados.evalNodeNames
– uma variedade de nomes de um ou mais nomes de nó para avaliar.distributedMBReading
- aceita o valor booleano: verdadeiro ou falso; o padrão é falso. Deve ser definido como verdadeiro para os leitores que suportam a leitura de minibatch distribuído. Se estiver a utilizar CNTK leitor de formato de texto, leitor de imagens ou leitor de dados compostos, deverá definir o DISTRIBUÍDOMBReading=verdadeiro.
O exemplo a seguir é tomado como o exemplo Simple2d. Nesse exemplo, o modelPath
é definido no nível superior e captado automaticamente pelo train
comando e test
comando.
Simple_Demo_Test = [
action = "test"
# Parameter values for the reader
reader = [
readerType = "CNTKTextFormatReader"
file = "$DataDir$/SimpleDataTest_cntk_text.txt"
randomize = false
input = [
features = [
dim = 2 # two-dimensional input data
format = "dense"
]
labels = [
dim = 2 # two-dimensional labels
format = "dense"
]
]
]
]