我的keras版本为Keras 2.1.5
今天在用keras multiply的时候发现了上述的错误:
Traceback (most recent call last):
File "models.py", line 186, in <module>
include_tweet=configs['include_tweet'])
File "models.py", line 59, in NIC
attention_mul=Multiply([image_embedding,attention_probs])
TypeError: __init__() takes 1 positional argument but 2 were given
正确的写法是:
from keras.layers import multiply
代码:
attention_probs=Dense(embedding_size ,activation="softmax")(image_embedding)
然后注意一下维度一致就可以了。
参考文献
[1].Keras Multiply() layer in functional API. https://stackoverflow.com/questions/48309322/keras-multiply-layer-in-functional-api