Embedding
keras.layers.embeddings.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)
参数解析:
input_dim:大或等于0的整数,字典长度,即输入数据最大下标+1。词汇表的大小。这是文本数据中词汇的取值可能数。例如,如果您的数据是整数编码为0-9之间的值,那么词汇的大小就是10个单词;
output_dim:大于0的整数,代表全连接嵌入的维度。这是嵌入单词的向量空间的大小,
input_length:这是输入序列的长度,就像您为Keras模型的任何输入层所定义的一样,也就是一次输入带有的词汇个数。例如,如果您的所有输入文档都由1000个字组成,那么input_length就是1000。
输入形状
2维张量,形状为(batch_size, sequence_length)。
(1个批次内的文本数,每篇文本中的词语数)
输出形状
3维张量,形状为(batch_size, sequence_length, output_dim)。
(1个批次内的文本数, 每篇文本中的词语数,每个词语的维度)
例子:
下面我们定义一个词汇表为200的嵌入层(例如从0到199的整数编码的字,包括0到199),一个32维的向量空间,其中将嵌入单词,以及输入文档,每个文档有50个单词。
e = Embedding(input_dim=200, output_dim=32, input_length=50)
参考博客:
keras-Embedding层-知乎