Keras 2.0.8 在 Python 3.x 中仅执行 1 个周期,但在 Python 2.x 中执行 10 个周期

如果我切换到 Python 2.x,它会执行 10 个周期。这是为什么呢?

训练逻辑回归模型

                                 import keras.backend as K    from keras.models            import Sequential    from keras.layers            import Dense, Activation    from keras.optimizers        import SGD    from sklearn.model_selection import train_test_split, cross_val_score    X_train, X_test, y_train, y_test = train_test_split(X, y,                                                    test_size    = 0.3,                                                    random_state = 42)# 注意:如果我在 Python 3.x 中运行这个,它只会执行 1 个周期K.clear_session()model = Sequential()model.add(Dense(1, input_shape=(4,), activation='sigmoid'))model.compile(loss     = 'binary_crossentropy',              optimizer= 'sgd',              metrics  = ['accuracy'])# 保存拟合的结果,以便将历史记录显示为数据框,并查看模型的表现history = model.fit     (X_train, y_train)result  = model.evaluate(X_test,  y_test)

输出:

Epoch 1/10960/960 [==============================] - 0s - loss: 0.7943 - acc: 0.5219     Epoch 2/10960/960 [==============================] - 0s - loss: 0.7338 - acc: 0.5469     Epoch 3/10960/960 [==============================] - 0s - loss: 0.6847 - acc: 0.5688     Epoch 4/10960/960 [==============================] - 0s - loss: 0.6446 - acc: 0.6177     Epoch 5/10960/960 [==============================] - 0s - loss: 0.6113 - acc: 0.6719     Epoch 6/10960/960 [==============================] - 0s - loss: 0.5832 - acc: 0.7000     Epoch 7/10960/960 [==============================] - 0s - loss: 0.5591 - acc: 0.7177     Epoch 8/10960/960 [==============================] - 0s - loss: 0.5381 - acc: 0.7365     Epoch 9/10960/960 [==============================] - 0s - loss: 0.5196 - acc: 0.7542     Epoch 10/10960/960 [==============================] - 0s - loss: 0.5031 - acc: 0.7688      32/412 [=>............................] - ETA: 0s

回答:

fit 函数的参数 epochs 的默认值为 1

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None,     validation_split=0.0, validation_data=None, shuffle=True, class_weight=None,     sample_weight=None, initial_epoch=0, steps_per_epoch=None,     validation_steps=None)

然而,之前的默认值是 10。例如,可以查看 models.pyfit 函数的更改,详见 这个提交。您很可能在 Python 2 中使用的是较旧版本的 Keras。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注