microsoft / CNTK

Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit
https://docs.microsoft.com/cognitive-toolkit/
Other
17.52k stars 4.28k forks source link

Error occured when using SetPropertyForSubTree #669

Closed oscarzbz closed 7 years ago

oscarzbz commented 8 years ago

I'm sorry to bother you again. I'd like to train a mix-model (CNN+BLSTM) for wave labelling, the cnn (well-trained in the previous project) in the mix-model outputs the feature of the waveform.I want to use the cnn as the feature of the BLSTM, that is to say , what I want to train of the mix-model is the BLSTM part but CNN. I have already built a .mel file, and add the “edit" block to the configfile. In the mel file , I use SetPropertyForSubTree to prevent the CNN from updating , but an error occured. The Error is as below:

GetEvalOrder: Called without prior call to FormEvalOrder() for link1.output Plus operation.

Additionally, this is the ndl of link1

LinkPoint(inoutdim,inputx) = [
    b = Parameter(inoutdim, 1,  init="fixedValue", value=0.0,needGradient=false);
    output=Plus(b, inputx);
]
link1=LinkPoint(RsoutDim,ol)

And here is the mel code

m1 = LoadModel("$currModel$", format="cntk")
SetDefaultModel(m1)
cellDim = 64
cellDimX2 = 128
cellDimX3 = 192
cellDimX4 = 256
cellDimX5 = 320
hiddenDim = 64
hiddenDimHLF = 32

FLSTMout1=FLSTMTop(hiddenDim, hiddenDim, cellDim, link1.output,cellDimX2, cellDimX3, cellDimX4)
FLSTMout2=FLSTMLB(hiddenDim, hiddenDimHLF, cellDim, FLSTMout1,FLSTMout1.lstmoutput.ct,cellDimX2, cellDimX3, cellDimX4,cellDimX5)
BLSTMout1=BLSTMTop(hiddenDim, hiddenDim, cellDim, link1.output,cellDimX2, cellDimX3, cellDimX4)
BLSTMout2=BLSTMLB(hiddenDim, hiddenDimHLF, cellDim, BLSTMout1,BLSTMout1.lstmoutput.ct,cellDimX2, cellDimX3, cellDimX4,cellDimX5)

BFLSTMoutput=StackLayer(hiddenDim,FLSTMout2,BLSTMout2)

SetInput(FLSTMout1.lstminp, 1, link1.output)
SetInput(BLSTMout1.lstminp, 1, link1.output)
SetInput(link2.output, 1, BFLSTMoutput.stacklink)
SetPropertyForSubTree(link1.output,ComputeGradient,false)
SaveModel(m1, "$newModel$", format="cntk")
#Dump(m1, "$newModel$.dump.txt")

Is there anybody who can tell me what to do ? Esteem it a favor

dongyu888 commented 8 years ago

Did you observe this on the current master branch or a very old binary?

wolfma61 commented 7 years ago

This issue has been dormant for a long while, please check out the latest CNTK release. If you still run into problems, please open a new issue.