import numpy as np
x=np.array([
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
print("x.shape = " + str(x.shape))
print("add by row = " + str(np.sum(x,axis=1)))
#按行求和,维数发生改变
print("add by column = " + str(np.sum(x,axis=0)))
#按列求和
print("add by row = " + str(np.sum(x,axis=1,keepdims = True)))
#按行求和,维数未发生改变
print("add by column = " + str(np.sum(x,axis=0,keepdims = True)))
#按列求和
normalize
import numpy as np
def normalizeRows(x):
x_norm=np.linalg.norm(x,axis=1,keepdims=True)
#x_norm即范数||x||,计算每一行的长度,得到一个列向量
print("x_norm = " + str(x_norm))
x=x/x_norm
#利用numpy的广播,用矩阵与列向量相除
return x
x=np.array([
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
])
print("normalizeRows(x) = " + str(normalizeRows(x)))
广播
import numpy as np
def softmax(x):
x_exp=np.exp(x)
x_sum=np.sum(x_exp,axis=1,keepdims=True)
s=x_exp/x_sum
print("x_exp = " + str(x_exp))
print("x_sum = " + str(x_sum))
return s
x=np.array([
[7,3,4,2],
[5,1,2,3]
])
print("softmax(x) = " + str(softmax(x)))