我正在尝试制作以下教程: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?怎么办?
谢谢。
答案 0 :(得分:0)
据我所知,您应该尝试传递numpy数组列表
尝试类似的东西:
model.predict(np.array([test_data[5]]))
这是您期望的吗? 希望这会有所帮助!