Tensorflow,电影评论预测

时间:2018-11-14 21:35:16

标签: tensorflow keras

我正在尝试制作以下教程:https://www.tensorflow.org/tutorials/keras/basic_text_classification

train_data = keras.preprocessing.sequence.pad_sequences(train_data,
                                                        value=word_index["<PAD>"],
                                                        padding='post',
                                                        maxlen=256)

test_data = keras.preprocessing.sequence.pad_sequences(test_data,
                                                       value=word_index["<PAD>"],
                                                       padding='post',
                                                       maxlen=256)

vocab_size = 10000

model = keras.Sequential()
model.add(keras.layers.Embedding(vocab_size, 16))
model.add(keras.layers.GlobalAveragePooling1D())
model.add(keras.layers.Dense(16, activation=tf.nn.relu))
model.add(keras.layers.Dense(1, activation=tf.nn.sigmoid))
model.summary()


model.compile(optimizer=tf.train.AdamOptimizer(),
              loss='binary_crossentropy',
              metrics=['accuracy'])


prediction = model.predict(test_data[5])
print(prediction)

为什么预测返回一个256的数组?而不是0或1?怎么办?

谢谢。

1 个答案:

答案 0 :(得分:0)

据我所知,您应该尝试传递numpy数组列表

尝试类似的东西:

model.predict(np.array([test_data[5]]))

这是您期望的吗? 希望这会有所帮助!