为什么numpy中的数组索引有效?

2024-10-03 19:26:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些numpy 2d数组:

x,形状(N,T)

W,形状(V,D)

具体描述如下:

“大小为N的小批量,其中每个序列的长度为T。我们假设一个V单词的词汇表,将每个单词分配给一个维度为D的向量。”(这是来自cs231a3的一个问题。)

我想要一个形状(N,T,D)的输出数组,在这里我可以将N个元素与所需的向量相匹配。你知道吗

首先,我给出了一个解决方案,使用一个循环遍历x的第一行中的所有元素:

    for n in range(N):
        out[n, :, :] = W[x[n, :]]

然后我继续试验第二种解决方案:

    out = W[x]

两种解决方案都给了我正确的答案,但是为什么第二种解决方案有效呢?为什么我可以在二维数组中索引三维数组?你知道吗


Tags: 词汇表innumpy元素forrange序列数组