Treinar, Testar, Eval do BrainScript
Aqui, descrevemos os principais comandos train
de nível superior e test
/eval
seus parâmetros correspondentes. Para comandos de nível superior adicionais, consulte a página correspondente.
Comando Treinar
Este comando solicita que CNTK treine um modelo. Um exemplo para uma train
seção de comando é fornecido na página de visão geral do arquivo Config . Os parâmetros relacionados são:
reader
– o bloco de configuração do leitor usado para determinar como carregar dados de entrada. Para obter detalhes, consulte o bloco Leitor.SGD
– a configuração de treinamento do SGD. Para obter detalhes, consulte o bloco SGD.BrainScriptNetworkBuilder
– o bloco de configuração do BrainScript. Para obter detalhes, consulte BrainScript Network Builder.SimpleNetworkBuilder
– o bloco de configuração simples do construtor de rede. Para obter detalhes, consulte Simple Network Builder.cvReader
– (opcional) o bloco de configuração do leitor para dados de validação cruzada.makeMode
– se definido comotrue
(padrão) o treinamento continuará de qualquer época interrompida. Se definido comofalse
o treinamento será reiniciado do zero.firstMBsToShowResult
– indica quantos minibates no início de uma época mostrar resultados intermediários individualmente.numMBsToShowResult
– indica depois de quantos minibates os resultados intermediários devem ser mostrados.
Comando Test ou Eval
Esses comandos avaliam/testam um modelo para 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 de teste. Para obter detalhes, consulte o bloco Leitor.modelPath
– o caminho para o modelo a ser avaliado.BrainScriptNetworkBuilder
– se isso for dado, o modelo não será apenas lido,modelPath
mas construído a partir dessa configuração. Isso é usado para modificar modelos em tempo real para avaliação.minibatchSize
– o tamanho da minibatch a ser usado ao ler e processar o conjunto de dados.epochSize
– o tamanho do conjunto de dados. O padrão é0
. Todo o conjunto de dados será avaliado se ele estiver definido como0
.numMBsToShowResult
– indica depois de quantos minibates os resultados intermediários devem ser mostrados.evalNodeNames
– uma matriz de um ou mais nomes de nó a serem avaliados.distributedMBReading
- aceita o valor booliano: true ou false; o padrão é falso. Ele deve ser definido como verdadeiro para leitores que dão suporte à leitura de minibatch distribuída. Se você estiver usando CNTK Leitor de Formato de Texto, Leitor de Imagem ou Leitor de Dados Composto, defina distributedMBReading=true.
O exemplo a seguir é tomado como o exemplo Simple2d. Nesse exemplo, o modelPath
valor é definido no nível superior e obtido automaticamente pelo comando e test
pelo train
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"
]
]
]
]