keras.Sequential()的“ input_shape”格式是什么?

时间:2018-07-16 08:52:47

标签: python tensorflow keras

this tensorflow教程之后,在 Build the model 部分下,为keras.Sequential()的第一层赋予参数vocab_size=10000。什么意思?

查看文档后,我发现,顺序模型需要知道输入张量的形状(输入层的张量),并使用input_shape属性对其进行定义。但是input_shape应该像(30,50,50,3)(对于30,50x50 RGB图像)。本教程中的值为10000。

2 个答案:

答案 0 :(得分:1)

对于问题的第一部分:

该示例使用嵌入层。将嵌入层视为查找矩阵。每行将代表一个单词向量。 vocab_size标识此矩阵的大小(或换句话说,此矩阵中表示的单词数-本质上是矩阵的行数)。

现在表示输入字符串,每个单词将由一个整数表示-对应于嵌入矩阵的行。

对于第二部分,我不确定您指的是哪个示例或您要尝试执行的操作。但是,您可能想知道批次中的样本数量将不是input_shape的一部分。因此,传递30个50 * 50 RGB图像样本的input_shape将为(50,50,3)

答案 1 :(得分:1)

顺序只是定义模型的一种方法,如果需要的话,可以是一种包装器。

它包装了一系列的层。 第一层需要输入大小。

您要研究的每个元素的输入形状都将有所不同:正确的是,图像的输入形状可能是(50,50,3)。

在您提供的示例中,第一层处理单词嵌入:嵌入形状由创建数据的函数定义(在示例页面的下方是imdb.load_data()

vocab_size不是完整的形状,而是要把多少“行”的嵌入作为单个输入对待。

您可以在此处看到更清晰的示例:https://keras.io/layers/embeddings/