我正在研究CNTK,并收到以下错误:
ValueError:在函数中找到2个未绑定的占位符'Placeholder('keep',[#,*],[939]),Placeholder('keep',[#,*],[939])'。在执行正向计算之前,必须将功能的所有占位符绑定(绑定到变量)。
for i in range(10000):
a1,a2,tar=get_sample(minibatch_size,start)
start=start+int(minibatch_size)
if start>=int(0.8*float(len(lab)))-minibatch_size:
start=0
trainer.train_minibatch({P1: a1, P2: a2, target: tar})
P1和P2定义为C.layers.Input(939)
最佳答案
我能够解决我的问题。我必须将模型输出而不是模型本身作为参数传递给Trainer构造函数。
模型= cntk.layers.Sequential([l1,l2])
model_output =模型(预测变量)
错误:
培训师= cntk.train.trainer.Trainer(model,(loss,meas),[learner])
没有错误:
培训师= cntk.train.trainer.Trainer(model_output,(loss,meas),[learner])