请问在keras中,如何在预测阶段打开dropout,使得一个样本的多次预测结果不同?
-
def build_model_3():
model_3 = Sequential()
# 前三层,我们想要微调它
model_3.add(Conv1D(filters=64, kernel_size=3, activation='softmax', input_shape=x_train_1[0].shape))
model_3.add(Conv1D(filters=64, kernel_size=3, activation='softmax'))
model_3.add(GlobalMaxPooling1D())
#后面层固定
model_3.add(Dense(1024, activation='softmax',trainable=False))
model_3.add(Dense(512, activation='softmax',trainable=False))
model_3.add(Dense(256, activation='softmax',trainable=False))
model_3.add(Dense(64, activation='softmax',trainable=False))
model_3.add(Dropout(0.298,trainable=False))
model_3.add(Dense(1,trainable=False))
model_3.compile(loss='mse', optimizer=Adam(lr=0.005), metrics=['accuracy'])
model_3.summary()
return model_3
# 构建模型
model_3=build_model_3()
model_3.load_weights('model_3_weights.h5')
sample=x_test[0]
sample = np.reshape(sample, (1,sample.shape[0], sample.shape[1]))
print(sample)
predict = []
for i in range(10):
predict_3 = model_3.predict(sample)
print('222')
print(predict_3)
predict.append(predict_3)
如果用predict函数,这10次的预测结果是一样的,怎样才能开启dropout使得他们的预测结果不同。
有人可以解答一下嘛,卡在这好久了