我是CNTK的新手。通过遵循本教程,我使用BrainScript创建了第一个示例Logistic回归。运行脚本很好。但我无法找到output.txt文件,该文件应该是BrainScript配置中输出命令的结果。任何人都可以帮忙吗?
有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.
答案 0 :(得分:2)
outputpath
元素不是输出文件的写入路径,而只是它的前缀。将根据您要输出的网络节点的名称创建后缀。因此,如果您要输出节点p
,您会期望文件output.txt.p
中的结果
但是,目前,您没有指定要输出的节点。您可以通过在配置中添加outputNodeNames=p
来实现这一目标。