在 tensorflow 和numpy 中矩阵的加法
原创
©著作权归作者所有:来自51CTO博客作者luoganttcc的原创作品,请联系作者获取转载授权,否则将追究法律责任
A 和B 矩阵相加
相当于在最后一个维度上map 依次相加A[-s:] for s in rang(k)
import numpy as np
a=np.array(range(3*4)).reshape([3,4])
b=np.array([0.2]*4)
print('a.shape=',a.shape)
print('b.shape=',b.shape)
print(a+b)
print('-'*20+'我是分割线'+'-'*20)
a=np.array(range(2*3*4)).reshape([2,3,4])
b=np.array([0.2]*4)
print('a.shape=',a.shape)
print('b.shape=',b.shape)
print(a+b)
输出
a.shape= (3, 4)
b.shape= (1, 4)
[[ 0.2 1.2 2.2 3.2]
[ 4.2 5.2 6.2 7.2]
[ 8.2 9.2 10.2 11.2]]
--------------------我是分割线--------------------
a.shape= (2, 3, 4)
b.shape= (1, 4)
[[[ 0.2 1.2 2.2 3.2]
[ 4.2 5.2 6.2 7.2]
[ 8.2 9.2 10.2 11.2]]
[[12.2 13.2 14.2 15.2]
[16.2 17.2 18.2 19.2]
[20.2 21.2 22.2 23.2]]]
A 和B 矩阵相加
相当于在最后两个维度的分块加上B,A[-s:] for s in rang(p*k)
a=np.array(range(2*3*4)).reshape([2,3,4])
b=np.array(range(3*4)).reshape([3,4])*0.1
print('a.shape=',a.shape)
print('b.shape=',b.shape)
print(a+b)
a.shape= (2, 3, 4)
b.shape= (3, 4)
[[[ 0. 1.1 2.2 3.3]
[ 4.4 5.5 6.6 7.7]
[ 8.8 9.9 11. 12.1]]
[[12. 13.1 14.2 15.3]
[16.4 17.5 18.6 19.7]
[20.8 21.9 23. 24.1]]]
A 和B 矩阵相加
c[0]=a[0]+b[0],c[1]=a[1]+b[1]
a=np.array(range(2*3*4)).reshape([2,3,4])
b=np.array([[[9,9,9,9]],[[2,3,5,9]]])
c=a+b
print('a.shape=',a.shape)
print('b.shape=',b.shape)
print(c)
a.shape= (2, 3, 4)
b.shape= (2, 1, 4)
[[[ 9 10 11 12]
[13 14 15 16]
[17 18 19 20]]
[[14 16 19 24]
[18 20 23 28]
[22 24 27 32]]]