Как принять произведение точек двух последовательных моделей BiLSTM в Керасе в качестве механизма внимания - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь адаптировать код здесь: https://github.com/sujitpal/dl-models-for-qa/blob/master/src/qa-lstm-story.py реализовано в Keras 1.x для Keras 2.2.4, особенно в отношении устаревшей функции слияния (например, см. Строку 90).

В строке 90 я заменяю facts.add(Merge([senc, qenc], mode="dot", dot_axes=[2, 2])) на facts.add(Dot(axes=[2,2])([senc, qenc])), но это не работает.

Появляется следующая ошибка:

Traceback (most recent call last):
  File "qa-blstm-story-new.py", line 90, in <module>
    facts.add(Dot(axes=[2,2])([senc, qenc]))
  File "/home/dsouzaj/dl-models-for-qa/venv/lib/python3.7/site-packages/keras/engine/base_layer.py", line 414, in __call__
    self.assert_input_compatibility(inputs)
  File "/home/dsouzaj/dl-models-for-qa/venv/lib/python3.7/site-packages/keras/engine/base_layer.py", line 285, in assert_input_compatibility
    str(inputs) + '. All inputs to the layer '
ValueError: Layer dot_1 was called with an input that isn't a symbolic tensor. Received type: <class 'keras.engine.sequential.Sequential'>. Full input: [<keras.engine.sequential.Sequential object at 0x7ff91afec780>, <keras.engine.sequential.Sequential object at 0x7ff7e2559d68>]. All inputs to the layer should be tensors.

Как это сделатьправильно?Спасибо!

...