TypeError: __init__() got multiple values for argument 'axes'
TypeError: __init__() got multiple values for argument 'axes'
我想在下面的代码中使用注意力机制:
attention = Dot([decoder_outputs, encoder_outputs], axes=[2, 1])
attention = Activation('softmax')(attention)
context = Dot([attention, encoder_outputs], axes=[2,1])
decoder_combined_context = concatenate([context, decoder_outputs])
但是我有这个错误消息,我不知道如何解决它
Traceback (most recent call last):
attention = Dot([decoder_outputs, encoder_outputs], axes=[2, 1])
TypeError: __init__() got multiple values for argument 'axes'
我正在使用 keras 2.3.1 版和 tensorflow 2.1.0 版
Dot
的第一个参数是axes
:
tf.keras.layers.Dot(axes, normalize=False, **kwargs)
因此您需要决定要为 axes
传递什么值:[decoder_outputs, encoder_outputs]
或 [2, 1]
。
你没有正确调用层,应该是这样的:
attention = Dot(axes=[2, 1])([decoder_outputs, encoder_outputs])
你对 Dot
的第二次调用有同样的问题,它遵循相同的模式
我想在下面的代码中使用注意力机制:
attention = Dot([decoder_outputs, encoder_outputs], axes=[2, 1])
attention = Activation('softmax')(attention)
context = Dot([attention, encoder_outputs], axes=[2,1])
decoder_combined_context = concatenate([context, decoder_outputs])
但是我有这个错误消息,我不知道如何解决它
Traceback (most recent call last):
attention = Dot([decoder_outputs, encoder_outputs], axes=[2, 1])
TypeError: __init__() got multiple values for argument 'axes'
我正在使用 keras 2.3.1 版和 tensorflow 2.1.0 版
Dot
的第一个参数是axes
:
tf.keras.layers.Dot(axes, normalize=False, **kwargs)
因此您需要决定要为 axes
传递什么值:[decoder_outputs, encoder_outputs]
或 [2, 1]
。
你没有正确调用层,应该是这样的:
attention = Dot(axes=[2, 1])([decoder_outputs, encoder_outputs])
你对 Dot
的第二次调用有同样的问题,它遵循相同的模式