【问题标题】:Group elements in ndarray by index按索引对 ndarray 中的元素进行分组
【发布时间】:2023-01-31 00:02:11
【问题描述】:

我有一个包含 1000 张图像的图像数据集,我已经为其创建了嵌入。每个嵌入(每个图像有 512 个嵌入,具有 256 维向量)是一个形状为 (512, 256) 的 ndarray,因此总的数组形状为 (1000, 512, 256)。

现在,从每个图像 (1000) 中,我想为第一个嵌入创建一组观察,可用的 512 个,并从每个图像中收集这个嵌入。然后我想对第二个嵌入、第三个、第四个,直到第 512 个嵌入执行此操作。

我将如何着手创建这些组?

【问题讨论】:

  • 不清楚“收集这个嵌入意味着什么”,但你的第一个嵌入将是embeddings[:, 0, :],第二个是embeddings[:, 1, :]等。

标签: python numpy numpy-ndarray


【解决方案1】:

您可以按如下方式实现:

groups = []

for i in range(512):
    # Select the i-th embedding from each image
    group = embeddings[:, i, :]
    groups.append(group)

groups = np.array(groups)

【讨论】:

    猜你喜欢
    • 2020-08-07
    • 2020-07-03
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多