在this tensorflow教程之后,在 Build the model 部分下,为keras.Sequential()的第一层赋予参数vocab_size=10000
。什么意思?
查看文档后,我发现,顺序模型需要知道输入张量的形状(输入层的张量),并使用input_shape
属性对其进行定义。但是input_shape
应该像(30,50,50,3)(对于30,50x50 RGB图像)。本教程中的值为10000。
答案 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/