Поделиться через


Обучение BrainScript, тестирование, Eval

Здесь мы рассмотрим основные команды train верхнего уровня и test/eval соответствующие параметры. Дополнительные команды верхнего уровня см. на соответствующей странице.

Команда обучения

Эта команда запрашивает CNTK для обучения модели. Пример раздела train команды приведен на странице обзора файла конфигурации . Связанные параметры:

  • reader — блок конфигурации средства чтения, используемый для определения способа загрузки входных данных. Дополнительные сведения см. в блоке чтения.

  • SGD — настройка обучения НАО. Дополнительные сведения см. в блоке JSON.

  • BrainScriptNetworkBuilder — блок конфигурации BrainScript. Дополнительные сведения см. в построителе сети BrainScript.

  • SimpleNetworkBuilder — простой блок конфигурации построителя сети. Дополнительные сведения см. в простом построителе сети.

  • cvReader — (необязательно) блок конфигурации средства чтения для данных перекрестной проверки.

  • makeMode — если задано true значение (по умолчанию), обучение будет продолжаться с любой прерванной эпохи. Если задано значение false для обучения, будет перезапущено с нуля.

  • firstMBsToShowResult — указывает, сколько мини-пакетов в начале эпохи отображает промежуточные результаты по отдельности.

  • numMBsToShowResult — указывает, сколько мини-пакетов должны отображаться промежуточные результаты.

Команда Test или Eval

Эти команды оценивают и тестируют модель для точности, обычно с помощью тестового набора данных. Связанные параметры:

  • reader — блок конфигурации средства чтения для чтения тестовых данных. Дополнительные сведения см. в блоке чтения.

  • modelPath — путь к модели для оценки.

  • BrainScriptNetworkBuilder — если это задано, модель не только считывается, modelPath но и создается на основе этой конфигурации. Он используется для изменения моделей на лету для оценки.

  • minibatchSize — размер мини-пакета, используемый при чтении и обработке набора данных.

  • epochSize — размер набора данных. По умолчанию — 0. Весь набор данных будет оцениваться, если он имеет значение 0.

  • numMBsToShowResult — указывает, сколько мини-пакетов должны отображаться промежуточные результаты.

  • evalNodeNames — массив из одного или нескольких имен узлов для оценки.

  • distributedMBReading — принимает логическое значение: true или false; значение по умолчанию — false. Оно должно иметь значение true для читателей, поддерживающих распределенное чтение мини-пакетов. Если вы используете CNTK средство чтения текстовых форматов, средство чтения изображений или составное средство чтения данных, необходимо задать значение distributedMBReading=true.

В следующем примере взят пример Simple2d. В этом примере modelPath определяется на верхнем уровне и автоматически выбирается как командой train , так и test командой.

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