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,(убыток, мера),[ученик])

Другие вопросы по тегам