Compartilhar via


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 como true (padrão) o treinamento continuará de qualquer época interrompida. Se definido como false 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 como 0.

  • 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"
            ]
        ]
    ]
]