请有人能解释一下下面提到的层的输入和输出以及其工作原理
model.add(Embedding(total_words, 64, input_length=max_sequence_len-1))
total_words = 263
max_sequence_len=11
64是维度的数量吗?
为什么这个层的输出是(None, 10, 64)?
不应该是每个单词的64维向量吗,即(None, 263, 64)?
回答:
您可以在这里找到关于Tensorflow嵌入层的所有信息 这里。
前两个参数是input_dimension
和output_dimension
。
- 输入维度基本上代表了模型的词汇量大小。您可以通过使用
Tokenizer()
函数的word_index
功能来确定这一点。 - 输出维度将是下一
Dense Layer
的输入维度
嵌入层的输出形式为(batch_size, input_length, output_dim)
。但由于您指定了input_length
参数,您的层的输入将是(batch, input_length)
形式。这就是为什么输出是(None, 10, 64)的形式。
希望这能解答您的疑惑 ☺️