大数据人工智能

人工智能00026 深度学习与图像识别书评26 神经网络基础08

2023-11-26  本文已影响0人  良友知音

在Softmax的代码修改中,我们使用了Python中的广播原则,广播原则指的是如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或者其中一方的长度为1,则认为它们是广播兼容的。

广播会在缺失和(或)长度为1的维度上进行。

这句话乃是理解广播的核心。广播主要发生在两种情况:一种是两个数组的维数不相等,但是它们的后缘维度的 轴长相符;另外一种是有一方的长度为1。

下面我们来列举2个例子,代码如下:

import numpy as np

arr1 = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])

arr2 = np.array([1,2,3])

arr_sum = arr1 + arr2

print(arr1.shape)

print(arr2.shape)

print(arr_sum)

我们可以看到,arr1的shape是(4,3)而arr2的shape是(3,),虽然它们的维度不同但是它们的后缘维度相等,arr1的第二个维度为3,其与arr2的维度相同,因此它们可以通过广播原则进行相加。

下面我们来看一下第二个例子,示例代码具体如下:

import numpy as np

arr1 = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])

arr2 = np.array([[1],[2],[3],[4]]) arr_sum = arr1 + arr2

print(arr1.shape)

print(arr2.shape)

print(arr_sum)

Arr1的shape为(4,3),arr2的shape为(4,1),它们都是二维的,但是arr2在1轴上的长度为1,所以可以通过广播原则进行相加的操作。

上一篇下一篇

猜你喜欢

热点阅读