【发布时间】:2021-06-17 12:04:16
【问题描述】:
在TensorFlow教程Basic text classification的这段代码sn-p中,
model = tf.keras.Sequential([
layers.Embedding(max_features + 1, embedding_dim),
layers.Dropout(0.2),
layers.GlobalAveragePooling1D(),
layers.Dropout(0.2),
layers.Dense(1)])
据我了解,max_features 是词汇的大小(索引 0 用于填充,索引 1 用于 OOV)。
另外,我做了个实验,设置layers.Embedding(max_features, embedding_dim),教程还是能顺利跑通的(截图如下)。
那么为什么我们需要 input_dim=max_features + 1 呢?
【问题讨论】:
-
感谢您的建议。我读过那个问题。首先,这个问题有点过时了,因为 Keras 更新了他们的文档。我的理解是我们设置 input_dim=|vocabulary| + 1 如果 mask_zero=True。但在我的问题中并非如此,因为教程示例没有启用遮罩,因为它只是将嵌入层与密集层连接起来。
标签: tensorflow keras embedding