numpy/tensorflow一维数组和二维数组相乘

问题描述

import numpy as np

a=np.array([[1,2,3],[4,5,6]])
b=np.array([1,2])

目的:b[0]要乘以a[0],b[1]要乘以a[1]

直接相乘,由于形状不一致,会报错:

a*b

错误如下:

ValueError: operands could not be broadcast together with shapes (2,3) (2,)

解决

将b的形状改成(2,1),在乘以a,此时形状符合传播

b=b.reshape(2,1)
res=a*b
print(res)

原文出处:/show_1EF5Ij5iAW07.html