【发布时间】:2020-09-07 17:50:24
【问题描述】:
我不清楚在以下示例中指定输入维度Input(shape=(20,)) 或不指定Input(shape=(None,)) 是否有任何区别:
input_layer = Input(shape=(None,))
emb = Embedding(86, 300) (input_layer)
lstm = Bidirectional(LSTM(300)) (emb)
output_layer = Dense(10, activation="softmax") (lstm)
model = Model(input_layer, output_layer)
model.compile(optimizer="rmsprop", loss="categorical_crossentropy", metrics=["acc"])
history = model.fit(my_x, my_y, epochs=1, batch_size=632, validation_split=0.1)
my_x (shape: 2000, 20) 包含引用字符的整数,而my_y 包含一些标签的 one-hot 编码。使用Input(shape=(None,)),我发现我可以使用model.predict(my_x[:, 0:10]),即我只能输入10 个字符而不是20 个字符:这怎么可能?我假设需要my_x 中的所有 20 个维度来预测相应的 y。
【问题讨论】: