如何定义 Kronecker product layer of 2 keras layers of shape (None, 4096) 执行?
How to define Kronecker product layer of 2 keras layers of shape (None, 4096) is performed?
假设有 2 个 different/separate keras 层,
encoder_1 & encoder_2
两者都具有 (None, 4096)
的输出形状。
现在如何定义 keras 乘法层,它给出 (None, 4096, 4096)
作为它的输出形状。
这与 Kronecker 产品相同吗?
如果不相同 请说明如何实现 2 层 命名的 Kronecker 积,encoder_1 & encoder_2?
因此,在插入长度为 1 的维度后,您应该可以简单地使用 Keras 的 Dot
layer or 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)
.
的张量
假设有 2 个 different/separate keras 层,
encoder_1 & encoder_2
两者都具有 (None, 4096)
的输出形状。
现在如何定义 keras 乘法层,它给出 (None, 4096, 4096)
作为它的输出形状。
这与 Kronecker 产品相同吗?
如果不相同 请说明如何实现 2 层 命名的 Kronecker 积,encoder_1 & encoder_2?
因此,在插入长度为 1 的维度后,您应该可以简单地使用 Keras 的 Dot
layer or 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)
.