Лямбда-слой Keras портит первое измерение - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь использовать пользовательский слой Lambda в качестве первого слоя в моей нейронной сети в Keras (с использованием бэкэнда тензорного потока с Python 3.6). Лямбда-слой input_reshape_sample в основном берет длинный одномерный вектор и разбивает его на тензор ранга 9. Затем сеть инициализируется как

model_resize = Sequential()
model_resize.add(Lambda(input_reshape_sample, input_shape=[input_size]))

где в моем случае input_size=576. Когда я запускаю сеть, я получаю следующую ошибку, ссылаясь на вторую строку кода выше:

ValueError: Shape must be rank 1 but is rank 0 for 'lambda_49/Slice' (op: 'Slice') with input shapes: [?,576], [], [].

Действительно, когда я печатаю ввод в слой Lambda с помощью print(input_vec.get_shape()), я получаю (?, 576). Я не понимаю, почему добавлено это дополнительное ? измерение.

...