当我们指定轴=(2,2)时,哪个值正好乘以?谁能告诉我这里幕后的真实情况?
$Employee->{ ... }
数据形状:
match = dot([input_encoded_m, question_encoded], axes=(2, 2))
match = Activation('softmax')(match)
input_encoded_m,552为句子长度,64为嵌入长度
questions_encoded,5为句子长度,64为嵌入长度
如果我们在点层中指定轴=(2,2),则将哪个值相乘?有人可以帮我吗?
答案 0 :(得分:1)
轴表示张量的轴。
例如,在您的情况下,您有一个shape =(None,552,64)的张量,即3D(等级3)张量。
标量(例如3
)是0D张量。
向量([1,2,3]
)是一维张量:
一个矩阵([是2D张量。依此类推。
[1,2],
[2,3],
]
第一个轴(轴0)是没有任何轴的轴。
第二个轴(轴1)是522行。
第三轴(轴2)是具有64列的轴。
a = Input(batch_shape=(None,255,64))
b = Input(batch_shape=(None,5,64))
out = dot([a,b], axes =(2,2))
out.shape
TensorShape([Dimension(None), Dimension(255), Dimension(5)])
因此,基本上,a.b = a1.b1 + a2.b2 +.... + a64.b64
将给出一个标量。
由于您有一排5,因此在张量的最后一个轴上将有一个5维向量(vector Dimension与Tensor Dimension