你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
BrainScript 训练、测试、Eval
下面介绍主要顶级命令 train
及其 test
/eval
相应的参数。 有关其他顶级命令,请参阅 相应的页面。
训练命令
此命令要求CNTK训练模型。 配置文件概述页上提供了命令节的示例train
。 相关参数包括:
reader
– 用于确定如何加载输入数据的读取器配置块。 有关详细信息,请参阅 读取器块。SGD
– SGD 培训设置。 有关详细信息,请参阅 SGD块。BrainScriptNetworkBuilder
– BrainScript 配置块。 有关详细信息,请参阅 BrainScript 网络生成器。SimpleNetworkBuilder
– 简单的网络生成器配置块。 有关详细信息,请参阅 简单网络生成器。cvReader
– (用于交叉验证数据的读取器配置块) 可选。makeMode
– 如果设置为true
(默认) 训练将继续从任何时期中断。 如果设置为false
训练将从头开始重启。firstMBsToShowResult
– 指示在纪元开始时有多少小巴,以分别显示中间结果。numMBsToShowResult
– 指示应显示中间结果的小型巴托数。
测试或 Eval 命令
这些命令评估/测试模型的准确性,通常使用测试数据集。 相关参数包括:
reader
– 读取器配置块,用于读取测试数据。 有关详细信息,请参阅 读取器块。modelPath
– 要评估的模型的路径。BrainScriptNetworkBuilder
– 如果提供了此值,则模型不仅从modelPath
此配置中读取,而是从此配置构造。 这用于修改动态模型以供评估。minibatchSize
– 读取和处理数据集时要使用的小块大小。epochSize
– 数据集的大小。 默认值为0
。 如果数据集设置为0
,则会评估整个数据集。numMBsToShowResult
– 指示应显示中间结果的小型巴托数。evalNodeNames
– 要计算的一个或多个节点名称的数组。distributedMBReading
- 接受布尔值:true 或 false;默认值为 false。 对于支持分布式迷你包读取的读取器,应将其设置为 true。 如果使用CNTK文本格式读取器、图像读取器或复合数据读取器,则应设置 distributedMBReading=true。
以下示例采用 Simple2d 示例。 在此示例中,在顶层定义,modelPath
并由命令test
自动train
选取。
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"
]
]
]
]