首页 > 解决方案 > word2vec 向量的 Keras 输入规范

问题描述

我阅读了有关此主题的所有其他答案,但我的用例略有不同。

我有一个 numpy 形状的数组(800,128,1)。800 个元素中的每个元素都存储一个形状为 (128,1) 的 word2vec 嵌入。现在我想将其作为批量大小为 64 的输入发送到 Keras 模型,其中第一层作为输入层。我收到以下错误:

expected party to have 2 dimensions, but got array with shape (800, 128, 1)

我知道输入层需要二维,但是哪两个呢?或者我应该自己将输入形状指定为三维?

输入层目前是这样的:

Input(shape = (embedding_size, ), name = 'party')

标签: pythontensorflowkerasword2vecword-embedding

解决方案


输入的形状是(embedding_size,),其中embedding_size大概是 128。所以输入应该是一个形状的数组(batch_size, embedding_size),而不是(batch_size, embedding_size, 1)。您需要重塑数组以省略大小为 1 的最后一个维度。


推荐阅读