在Branscripts中为CNTK顺序机器学习模型定义种子值

时间:2017-04-18 02:18:27

标签: deep-learning lstm cntk

这是对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

1 个答案:

答案 0 :(得分:0)

遗憾的是,参数没有全局随机种子选项。但是,您可以修改cntk.exe旁边的cntk.core.bs文件,其中定义了所有图层以支持所需图层的随机种子。