0

假设有 2 个不同/独立的 keras 层, encoder_1 & encoder_2两者的输出形状均为(None, 4096). 现在如何定义 keras 多层,它给出(None, 4096, 4096)了它的输出形状。这和克罗内克产品一样吗?如果不一样,请展示如何实现名为 encoder_1 和 encoder_2 的 2 层的 Kronecker 产品?

4

1 回答 1

0

因此,在插入长度为 1 的尺寸后,您应该能够简单地使用 Keras 的Dot层或方法来实现这一点:dot

import tensorflow as tf
from tensorflow.keras.layers import dot

encoder_1 = tf.expand_dims(encoder_1, axis=2)
encoder_2 = tf.expand_dims(encoder_2, axis=1)
outer = dot([encoder_1, encoder_2], axes=(2, 1))

outer应该是一个张量的形状(None, 4096, 4096)

于 2020-09-21T10:30:29.973 回答