实现一个 Transformer Encoder Block 的前向计算。
给定输入 X(L×d),依次执行以下操作:
输出最终的 X2。Layer Normalization 的参数 γ=1,β=0(即仅做归一化),ε=10−5。
第一行包含三个整数 L,d,h(1≤L≤8,2≤d≤8,d 能被 h 整除),以及一个整数 dff(1≤dff≤16)。
接下来依次输入(均为浮点数,空格分隔):X(L×d)、Wq(d×d)、Wk(d×d)、Wv(d×d)、Wo(d×d)、W1(d×dff)、b1(1×dff)、W2(dff×d)、b2(1×d)。
输出 L 行,每行 d 个浮点数,表示 Transformer Encoder Block 的输出,保留 4 位小数。
输入
2 4 2 8
1.0 0.0 1.0 0.0
0.0 1.0 0.0 1.0
0.5 0.0 0.0 0.5
0.0 0.5 0.5 0.0
0.0 0.0 0.5 0.5
0.5 0.5 0.0 0.0
0.0 0.5 0.0 0.5
0.5 0.0 0.0 0.5
0.0 0.0 0.5 0.5
0.0 0.0 0.0 1.0
0.0 0.5 0.5 0.0
0.0 0.0 0.5 0.5
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.1 0.1 0.1 0.1
0.0 0.0 0.0 0.0
输出
0.9915 -1.1754 0.9915 -0.8076
-0.9939 1.1495 -0.9939 0.8384
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册