2017-04-18 4 views
1

これはCNTKの脳スクリプトに関するものです。私はランダムシード値を指定するオプションがあるかどうかを調べるために、何も見つけられませんでした(はい、を通じてランダムシードパラメータを設定するオプションがあります)関数私がそのアプローチに従えば、明示的にすべてのLSTMウェイトを個別に初期化しなければならないかもしれません(入力レイヤーゲート、レイヤーゲートを忘れるなど)。次のRNN階層化シーケンスを保持して、ランダムシード値を設定するために使用できる他のオプションがありますか。CNTKシーケンシャルマシンラーニングモデルのBranscriptsでのシード値の定義

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

を残念ながらパラメータのグローバルランダムシードのオプションがありません。ただし、cntk.core.bsファイルのcntk.core.bsファイルを変更して、必要なレイヤーのランダムシードをサポートするようにすべてのレイヤーを定義することができます。