CNTK Python: размер вывода Dense Layer не соответствует ожиданиям?

Я тренирую учебники/модель понимания языка в CNTK/Python

def create_model():
    with C.layers.default_options(initial_state=0.1):
        return C.layers.Sequential([
            C.layers.Embedding(emb_dim, name='embed'),
            C.layers.Recurrence(C.layers.LSTM(hidden_dim), go_backwards=False),
            C.layers.Dense(num_labels, name='classify')
        ])

model = model_func(x)

По какой-то причине model.eval(data)[0].shape равен (2 * 16), а не (1 * 16), где num_labels = 16. Я очень запутался. Почему это 2 * 16 вместо 1 * 16, учитывая, что последний слой является плотным слоем с размером = num_labels = 16?

Спасибо!


person Demi Guo    schedule 14.06.2017    source источник


Ответы (1)


Скорее всего, элемент data, который вы передаете, имеет форму (2, x), т. е. вы передаете несколько значений для оценки, поэтому eval() возвращает прогноз для каждого из значений, которые вы передали в модель.

person Ian Ash    schedule 18.06.2017