gpt4 book ai didi

python - keras中的点层中的axes参数有什么作用?

转载 作者:行者123 更新时间:2023-12-01 06:51:42 25 4
gpt4 key购买 nike

当我们指定axes = (2, 2)时,哪些值被精确地相乘?谁能告诉我幕后到底发生了什么?

match = dot([input_encoded_m, question_encoded], axes=(2, 2))
match = Activation('softmax')(match)

数据形状:

print(input_encoded_m)
print(questions_encoded)

(<tf.Tensor 'dropout_41/Identity:0' shape=(None, 552, 64) dtype=float32>,
<tf.Tensor 'dropout_42/Identity:0' shape=(None, 5, 64) dtype=float32>)

input_encoded_m, 552 is sentence length, 64 is embeddings length

questions_encoded, 5 is sentence length, 64 is embeddings length

如果我们在点层中指定axes = (2, 2),哪些值将被相乘?谁能帮我吗?

最佳答案

轴是指张量的轴。

例如,在您的例子中,您有一个 shape=(None,552,64) 的张量,它是 3D(等级 3)张量。

标量(例如 3)是 0D 张量。

向量 ([1,2,3]) 是一维张量:

矩阵([是二维张量。依此类推。

       [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 维向量。(向量维度与张量维度不同

关于python - keras中的点层中的axes参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58963955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com