1.看一下下面的这两个随机数组“a”和“b”:
a = np.random.randn(4, 3) # a.shape = (4, 3)
b = np.random.randn(3, 2) # b.shape = (3, 2)
c = a * b
1
2
3
请问数组“c”的维度是多少?
答:运算符 “*” 说明了按元素乘法来相乘,但是元素乘法需要两个矩阵之间的维数相同,所以这将报错,无法计算。
2.看一下下面的代码:
a = np.random.randn(3, 3)
b = np.random.randn(3, 1)
c = a * b
1
2
3
请问c的维度会是多少?
答:这将会使用广播机制,b会被复制三次,就会变成(3,3),再使用元素乘法。所以: c.shape = (3, 3).
3.回想一下,np.dot(a,b)在a和b上执行矩阵乘法,而`a * b’执行元素方式的乘法。
看一下下面的这两个随机数组“a”和“b”:
a = np.random.randn(12288, 150) # a.shape = (12288, 150)
b = np.random.randn(150, 45) # b.shape = (150, 45)
c = np.dot(a, b)
1
2
3
请问c的维度是多少?
答: c.shape = (12288, 45), 这是一个简单的矩阵乘法例子。
本文深入探讨了矩阵和数组的乘法运算,包括按元素乘法与矩阵乘法的区别,以及如何通过广播机制实现不同维度数组的运算。通过具体实例,解释了np.dot()函数在矩阵乘法中的应用。
2111

被折叠的 条评论
为什么被折叠?



