np.newaxis 的使用案例
时间: 2023-05-24 12:06:32 浏览: 102
`np.newaxis` 可以用来增加数组的维度。在以下情况下特别有用:
1. 矩阵转置:通过在切片操作中使用 `np.newaxis`,可以轻松地转置一个矩阵。例如,假设我们有一个 $3\times 4$ 的矩阵 `a`:
```
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
```
要转置这个矩阵,我们可以对第二个轴使用切片并附加 `np.newaxis`:
```
a.T = a[:, :, np.newaxis]
```
这将创建一个新的 $4\times 3\times 1$ 的数组,其中每个元素是原始矩阵中的单个数值。
2. 插入新轴:在某些情况下,需要在现有数组的特定位置添加新的轴。例如,在创建深度学习模型时,为了执行卷积操作,需要将输入张量增加一个通道维度。下面是一个示例代码:
```
import numpy as np
# 创建一个 128x128 的三通道 RGB 图像
img = np.zeros((128, 128, 3))
# 增加一个批次维度
img = img[np.newaxis, ...]
# 使用卷积层对图像进行处理
conv_layer = Conv2D(filters=32,
kernel_size=(3, 3),
activation='relu')
output = conv_layer(img)
```
`img[np.newaxis, ...]` 将在第一个轴上增加批量维度,并将现有的三个轴保留为-is-。
阅读全文