我将使用IMDB电影评论数据集开始我的深度学习之旅。我不确定如何加载训练数据和指定input_shape。
(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)
如果我理解正确的话,有25000条来自不同电影的评论,单词被编码为整数列表。
train_data.shape
(25000,)
由于每个评审都有不同的长度,如何将这些数据存储在矩阵中(即25000行,但列的长度不同(?
model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu', input_shape=(16,)))
model.add(layers.Dense(1, activation='sigmoid', input_shape=(16,)))
在使用一个热编码将输入重塑为(25000001000(后,为什么input_shape的第一个参数不是25000(样本数(而不是10000,因为密集层将根据
relu(dot(w, inputs) + b)
计算输出==>(25000,10000(点(10000,16(=(25000,16(为什么我们不像Tensorflow核心中那样将input_shape指定为[None,10000]?
您可以使用keras pad_sequence 进行填充
data = pad_sequences(data, maxlen=max_length, padding='post')
我建议你使用嵌入层也
model = Sequential()
model.add(Embedding(num_words, 32, input_length=maxlen))