这是对CNTK脑脚本的尊重。我通过[1]来确定是否有一个选项来指定随机种子值,虽然我找不到任何(是的,有一个选项可以设置随机种子'参数 ParameterTensor()函数,但是如果我遵循这种方法,我可能必须分别显式地初始化所有LSTM权重(为输入层门定义单独的权重,忘记层门等),而不是使用模型序列如下)。是否有其他选项可用于设置随机种子值,保留以下RNN分层序列。
nn_Train = {
action = train
BrainScriptNetworkBuilder = {
model = Sequential (
RecurrentLSTMLayer {$stateDim$, usePeepholes = true}:
DenseLayer {$labelDim$, bias=false}
)
z = model (inputs)
inputs=Input($inputDim$) # features
labels=Input($labelDim$)
# loss and metric
ce = SquareError(labels, z)
# node assignment
featureNodes = (inputs)
labelNodes = (labels)
criterionNodes = (ce)
evaluationNodes = (ce)
outputNodes = (z)
}
[1] https://github.com/microsoft/cntk/wiki/Parameters-And-Constants#random-initialization
答案 0 :(得分:0)
遗憾的是,参数没有全局随机种子选项。但是,您可以修改cntk.exe旁边的cntk.core.bs文件,其中定义了所有图层以支持所需图层的随机种子。