轴参数在keras的点层中起什么作用?

时间:2019-11-20 21:52:11

标签: python python-3.x tensorflow keras

当我们指定轴=(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),则将哪个值相乘?有人可以帮我吗?

1 个答案:

答案 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

不同