我尝试使用keras做NN分类。我已经使用np.random.seed()和tf.random.set_seed()来获得每次重新运行它时的常量结果。我在大约1个月前在我的语法中使用random seed,最初它是工作的,但最近我重新运行我的代码,并再次获得不同的结果。我使用的语法是这样的:
import numpy as np
import tensorflow as tf
np.random.seed(0)
tf.random.set_seed(0)
model1 = Sequential()
model1.add(Dense(100, input_dim= Train_X2_Tfidf.shape[1], activation='sigmoid'))
model1.add(Dense(1, activation='sigmoid'))
opt = Adam (learning_rate=0.01)
model1.compile(loss='binary_crossentropy', optimizer=opt, metrics=['accuracy'])
model1.summary()
es = EarlyStopping(monitor="val_loss",mode='min',patience=10)
history1 = model1.fit(Train_X2_Tfidf, Train_Y2, epochs=200, verbose=1,
validation_split=0.2, batch_size=32,
callbacks =[es])
我得到的结果是:
Epoch 1/200
75/75 [==============================] - 3s 16ms/step - loss: 0.4355 - accuracy: 0.7976 - val_loss: 0.3175 - val_accuracy: 0.8620
下一次运行时,我得到了以下结果:
Epoch 1/200
75/75 [==============================] - 1s 9ms/step - loss: 0.4341 - accuracy: 0.7925 - val_loss: 0.3169 - val_accuracy: 0.8653
如何在每次重新运行时得到相同的结果?谢谢
1条答案
按热度按时间a11xaf1n1#
试试这个: