CNTK: ValueError обнаружена несвязанная метка-заполнитель в функции
Я работаю над CNTK и получил следующую ошибку:
ValueError: 2 несвязанных Placeholder (ов) '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)
1 ответ
Я смог выяснить проблему в моем случае. Мне пришлось передать вывод модели вместо самой модели в качестве параметра для конструктора тренера.
model = cntk.layers.Sequential ([l1, l2])
model_output = модель (предиктор)
Ошибка: trainer = cntk.train.trainer.Trainer(модель, (потеря, мера),[ученик])
Нет ошибки: trainer = cntk.train.trainer.Trainer(model_output,(убыток, мера),[ученик])