2017-04-08 86 views
2

我是CNTK的新手。通过遵循教程,我使用BrainScript创建了第一个例子Logistic回归。运行脚本进行得很顺利。但是我无法找到在BrainScript配置中应该是输出命令结果的output.txt文件。任何人都可以帮忙CNTK输出命令不会产生输出文件

还有就是BrainScript配置:

# CNTK Machine Learning Configuration 
# commands to run 
command=Train:Output 
modelPath = "model.dnn" 
deviceId = -1 
dimension = 2 
labelDimension = 2 
# Train command 
Train = { 
    action="train" 

    # configuration of data reading 
    reader = { 
     readerType = "CNTKTextFormatReader" 
     file = "C:\Newtera\ECM\Src\MLStudio\Data\Train_cntk_text.txt" 
     input = [ 
      features = [ 
       dim = $dimension$ 
       format = "dense" 
      ] 
      labels = [ 
       dim = 1 
       format = "dense" 
      ] 
     ] 
    } 

    # network description 
    BrainScriptNetworkBuilder = { 
     # sample and label dimensions 
     SDim = $dimension$ 
     LDim = 1 
     features = Input(SDim) 
     labels = Input(LDim) 
     # parameters to learn 
     b = Parameter(LDim, 1)  # bias 
     w = Parameter(LDim, SDim) # weights 
     # operations 
     p = Sigmoid(w * features + b) 
     lr = Logistic(labels, p) 
     err = SquareError(labels, p) 
     # root nodes 
     featureNodes = (features) 
     labelNodes = (labels) 
     criterionNodes = (lr) 
     evaluationNodes = (err) 
     outputNodes = (p) 
    } 

    # configuration parameters of the SGD procedure 
    SGD = { 
     epochSize = 0     # =0 means size of the training set 
     minibatchSize = 25 
     learningRatesPerSample = 0.04 # gradient contribution from each sample 
     maxEpochs = 50 
    } 

} 

# Output command 
Output = { 
    action="write" 
    # configuration of data reading 
    reader = { 
     readerType = "CNTKTextFormatReader" 
     file = "C:\Newtera\ECM\Src\MLStudio\Data\Test_cntk_text.txt" 
     input = [ 
      features = [ 
       dim = $dimension$ 
       format = "dense" 
      ] 
      labels = [ 
       dim = 1 
       format = "dense" 
      ] 
     ] 
    } 

    outputPath = "output.txt" 
    outputNodeNames = p 
} 

CNTK输出的一部分,以控制台:

Finished Epoch[29 of 50]: [Training] lr = 0.04359039 * 1000; err = 0.01143183 * 1000; totalSamplesSeen = 29000; learningRatePerSample = 0.039999999; epochTime=0.0379145s 
Finished Epoch[30 of 50]: [Training] lr = 0.04405872 * 1000; err = 0.01164983 * 1000; totalSamplesSeen = 30000; learningRatePerSample = 0.039999999; epochTime=0.0322998s 
Finished Epoch[31 of 50]: [Training] lr = 0.04420973 * 1000; err = 0.01164209 * 1000; totalSamplesSeen = 31000; learningRatePerSample = 0.039999999; epochTime=0.0402s 
Finished Epoch[32 of 50]: [Training] lr = 0.04337909 * 1000; err = 0.01130067 * 1000; totalSamplesSeen = 32000; learningRatePerSample = 0.039999999; epochTime=0.0333882s 
Finished Epoch[33 of 50]: [Training] lr = 0.04398178 * 1000; err = 0.01223733 * 1000; totalSamplesSeen = 33000; learningRatePerSample = 0.039999999; epochTime=0.0344874s 
Finished Epoch[34 of 50]: [Training] lr = 0.04342690 * 1000; err = 0.01140238 * 1000; totalSamplesSeen = 34000; learningRatePerSample = 0.039999999; epochTime=0.0332142s 
Finished Epoch[35 of 50]: [Training] lr = 0.04300383 * 1000; err = 0.01094254 * 1000; totalSamplesSeen = 35000; learningRatePerSample = 0.039999999; epochTime=0.042097s 
Finished Epoch[36 of 50]: [Training] lr = 0.04331203 * 1000; err = 0.01136943 * 1000; totalSamplesSeen = 36000; learningRatePerSample = 0.039999999; epochTime=0.0321645s 
Finished Epoch[37 of 50]: [Training] lr = 0.04345496 * 1000; err = 0.01147922 * 1000; totalSamplesSeen = 37000; learningRatePerSample = 0.039999999; epochTime=0.0332394s 
Finished Epoch[38 of 50]: [Training] lr = 0.04424128 * 1000; err = 0.01172341 * 1000; totalSamplesSeen = 38000; learningRatePerSample = 0.039999999; epochTime=0.0327771s 
Finished Epoch[39 of 50]: [Training] lr = 0.04669956 * 1000; err = 0.01262951 * 1000; totalSamplesSeen = 39000; learningRatePerSample = 0.039999999; epochTime=0.0397526s 
Finished Epoch[40 of 50]: [Training] lr = 0.04297209 * 1000; err = 0.01148758 * 1000; totalSamplesSeen = 40000; learningRatePerSample = 0.039999999; epochTime=0.0333094s 
Finished Epoch[41 of 50]: [Training] lr = 0.04553096 * 1000; err = 0.01266350 * 1000; totalSamplesSeen = 41000; learningRatePerSample = 0.039999999; epochTime=0.0336593s 
Finished Epoch[42 of 50]: [Training] lr = 0.04287576 * 1000; err = 0.01152806 * 1000; totalSamplesSeen = 42000; learningRatePerSample = 0.039999999; epochTime=0.0344351s 
Finished Epoch[43 of 50]: [Training] lr = 0.04388394 * 1000; err = 0.01206369 * 1000; totalSamplesSeen = 43000; learningRatePerSample = 0.039999999; epochTime=0.0342201s 
Finished Epoch[44 of 50]: [Training] lr = 0.04223350 * 1000; err = 0.01105061 * 1000; totalSamplesSeen = 44000; learningRatePerSample = 0.039999999; epochTime=0.0337745s 
Finished Epoch[45 of 50]: [Training] lr = 0.04207988 * 1000; err = 0.01140505 * 1000; totalSamplesSeen = 45000; learningRatePerSample = 0.039999999; epochTime=0.0338235s 
Finished Epoch[46 of 50]: [Training] lr = 0.04261599 * 1000; err = 0.01158317 * 1000; totalSamplesSeen = 46000; learningRatePerSample = 0.039999999; epochTime=0.0400027s 
Finished Epoch[47 of 50]: [Training] lr = 0.04326449 * 1000; err = 0.01164270 * 1000; totalSamplesSeen = 47000; learningRatePerSample = 0.039999999; epochTime=0.0339331s 
Finished Epoch[48 of 50]: [Training] lr = 0.04225180 * 1000; err = 0.01148765 * 1000; totalSamplesSeen = 48000; learningRatePerSample = 0.039999999; epochTime=0.0399052s 
Finished Epoch[49 of 50]: [Training] lr = 0.04173198 * 1000; err = 0.01124937 * 1000; totalSamplesSeen = 49000; learningRatePerSample = 0.039999999; epochTime=0.0338758s 
Finished Epoch[50 of 50]: [Training] lr = 0.04399340 * 1000; err = 0.01202173 * 1000; totalSamplesSeen = 50000; learningRatePerSample = 0.039999999; epochTime=0.0330397s 

COMPLETED. 

回答

1

outputpath元素不是到输出文件将被写入的路径,但是只有前缀它。后缀将根据您希望输出的网络节点的名称创建。因此,如果您要输出节点p,则可以预期文件中的结果output.txt.p

但是,目前,您并未指定输出哪个节点。您可以通过将outputNodeNames=p添加到您的配置中。

+0

感谢您的帮助。我在配置的输出命令中添加“outputNodeNames = p”。它仍然不会生成output.txt.p文件。我错过了什么吗? –

+0

您可以将CNTK输出的最后20行发布到控制台吗? –

+0

CNTK输出到控制台发布。我正在使用CNTK 2.0rc1。 –