实现神经网络中最基础的线性层(全连接层)前向传播。
给定输入矩阵 X(N×din)、权重矩阵 W(din×dout)和偏置向量 b(dout),计算线性变换:
Y=X⋅W+b输出矩阵 Y 的形状为 N×dout。
第一行包含三个整数 N,din,dout(1≤N≤100,1≤din≤128,1≤dout≤64),分别表示样本数、输入维度和输出维度。
接下来 N 行,每行 din 个浮点数,表示输入矩阵 X。
接下来 din 行,每行 dout 个浮点数,表示权重矩阵 W。
最后一行,dout 个浮点数,表示偏置向量 b。
输出 N 行,每行 dout 个浮点数,表示线性层的输出结果,保留 6 位小数。
输入
2 3 2
1.0 2.0 3.0
4.0 5.0 6.0
0.1 0.2
0.3 0.4
0.5 0.6
0.1 0.2
输出
2.300000 3.000000
5.000000 6.600000
说明
样本 1:Y0=X0⋅W+b,第一个输出 =1×0.1+2×0.3+3×0.5+0.1=2.3,第二个输出 =1×0.2+2×0.4+3×0.6+0.2=3.0。
输入
1 2 3
1.0 -1.0
1.0 0.0 -1.0
0.0 1.0 0.0
0.5 0.5 0.5
输出
1.500000 -0.500000 -0.500000
说明
Y=[1,−1]⋅W+b。第一个输出 =1×1+(−1)×0+0.5=1.5,第二个输出 =1×0+(−1)×1+0.5=−0.5,第三个输出 =1×(−1)+(−1)×0+0.5=−0.5。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册