117 строки
2.9 KiB
Plaintext
117 строки
2.9 KiB
Plaintext
# Copyright (c) Microsoft. All rights reserved.
|
|
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
# logistic regression cntk script -- using network description language BrainScript
|
|
|
|
# which commands to run
|
|
command=Train:Output:DumpNodeInfo:Test
|
|
|
|
# required...
|
|
modelPath = "Models/LR_reg.dnn" # where to write the model to
|
|
deviceId = -1 # -1 means CPU; use 0 for your first GPU, 1 for the second etc.
|
|
dimension = 2 # input data dimensions
|
|
|
|
# training config
|
|
Train = [ # command=Train --> CNTK will look for a parameter named Train
|
|
action = "train" # execute CNTK's 'train' routine
|
|
|
|
# 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
|
|
]
|
|
|
|
# configuration of data reading
|
|
reader = [
|
|
|
|
readerType = "CNTKTextFormatReader"
|
|
file = "Train_cntk_text.txt"
|
|
|
|
input = [
|
|
features = [
|
|
dim = $dimension$
|
|
format = "dense"
|
|
]
|
|
labels = [
|
|
dim = 1
|
|
format = "dense"
|
|
]
|
|
]
|
|
]
|
|
]
|
|
|
|
# test
|
|
Test = [
|
|
action = "test"
|
|
reader = [
|
|
readerType = "CNTKTextFormatReader"
|
|
file = "Test_cntk_text.txt"
|
|
input = [
|
|
features = [
|
|
dim = $dimension$
|
|
format = "dense"
|
|
]
|
|
labels = [
|
|
dim = 1
|
|
format = "dense"
|
|
]
|
|
]
|
|
]
|
|
]
|
|
|
|
# output the results
|
|
Output = [
|
|
action = "write"
|
|
reader = [
|
|
readerType = "CNTKTextFormatReader"
|
|
file = "Test_cntk_text.txt"
|
|
input = [
|
|
features = [
|
|
dim = $dimension$ # $$ means variable substitution
|
|
format = "dense"
|
|
]
|
|
labels = [
|
|
dim = 1 # label has 1 dimension
|
|
format = "dense"
|
|
]
|
|
]
|
|
]
|
|
outputPath = "LR.txt" # dump the output to this text file
|
|
]
|
|
|
|
# dump parameter values
|
|
DumpNodeInfo = [
|
|
action = "dumpNode"
|
|
printValues = true
|
|
]
|