dot outer ==》https://blog.youkuaiyun.com/hqh131360239/article/details/79064592
三维shape(宽,高,层)
np.dot()执行矩阵 - 矩阵或矩阵 - 向量乘法。
这与np.multiply()和*运算符(相当于Matlab / Octave中的。*)不同,后者执行逐元素乘法。
1、dot
①一维,计算内积,得到一个值
②多维,满足矩阵相乘
2、outer
①对于多维向量,全部展开变为一维向量
②第一个参数表示倍数,使得第二个向量每次变为几倍。
③第一个参数确定结果的行,第二个参数确定结果的列
import numpy as np
x1 = [1,2,3]
x2 = [4,5,6]
outer = np.outer(x1,x2)
print outer
x1 = [[1,2],[3,4]]
x2 = [[1,1],[1,1]]
outer = np.outer(x1,x2)
print outer
结果显示:
[[ 4 5 6] #1倍
[ 8 10 12] #2倍
[12 15 18]] #3倍
[[1 1 1 1] #1倍
[2 2 2 2] #2倍
[3 3 3 3] #3倍
[4 4 4 4]] #4倍
3、multiply
①对应位置进行加减乘除
②两个参数和结果的shape应该一致