如何定义形状无,4096的2个角膜层的Kronecker产品层?

问题描述

假设有2个不同/分开的keras层, rowSums(aMat > 4,na.rm = TRUE) #[1] 8 7 8 7 4 3 输出形状均为encoder_1 & encoder_2。 现在,如何定义将(None,4096)作为其输出形状的keras乘法层。 这和Kronecker产品一样吗? 如果不一致,请请说明如何实现两层Kronecker产品,分别命名为encoder_1和encoder_2?

解决方法

因此,在插入长度为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)的张量。