【发布时间】:2018-01-04 21:48:40
【问题描述】:
谁能帮我理解为什么这个模型不能给出可重复的结果?每次我运行它时,它都会更改我正在使用的测试集和其他验证集的准确度值。我正在使用定义的种子。我不明白为什么会这样。
以下是我的部分代码:
np.random.seed(7)
# Create the model
def create_model(neurons=190, init_mode='normal', activation='relu', inputDim=8040, dropout_rate=0.8,
learn_rate=0.001, momentum=0.7, weight_constraint=5):
model = Sequential()
model.add(Dense(neurons, input_dim=inputDim, kernel_initializer=init_mode, activation=activation, kernel_constraint=maxnorm(weight_constraint), kernel_regularizer=regularizers.l2(0.002)))
model.add(Dense(1, activation='sigmoid'))
optimizer = RMSprop(lr=learn_rate)
# compile model
model.compile(loss='binary_crossentropy', optimizer='RmSprop', metrics=['accuracy'])
model = create_model()
seed = 7
# Define k-fold cross validation test harness
kfold = StratifiedKFold(n_splits=3, shuffle=True, random_state=seed)
cvscores = []
for train, test in kfold.split(X_train, Y_train):
print("TRAIN:", train, "VALIDATION:", test)
# Fit the model
history = model.fit(X_train, Y_train, epochs=40, batch_size=50, validation_data=(X_test, Y_test), verbose=0)
我会很感激它上面的一些 cmets。
【问题讨论】:
标签: machine-learning keras keras-layer random-seed