Keras 2 fit_generator UserWarning:`steps_per_epoch`与Keras 1参数`samples_per_epoch`

时间:2017-09-20 05:33:54

标签: python neural-network keras jupyter-notebook keras-2

我在Jupyter Notebook中使用Keras 2.0.8和Python 3内核。我的后端是TensorFlow 1.3,我正在Mac上开发。

每当我使用fit_generator()时,我都会收到以下警告:

  

/Users/username/anaconda/envs/tensorflow/lib/python3.6/site-packages/ipykernel/ main .py:5:UserWarning:Keras 2参数的语义{{ 1}}与Keras 1参数steps_per_epoch不同。 samples_per_epoch是每个时代从发电机中抽取的批次数。基本上是steps_per_epoch = samples_per_epoch / batch_size。同样,steps_per_epoch - > nb_val_samplesvalidation_steps - > val_samples参数已更改。相应地更新方法调用。   /Users/username/anaconda/envs/tensorflow/lib/python3.6/site-packages/ipykernel/ma​​in.py:5:UserWarning:更新您对Keras 2的steps电话API:fit_generator

下面是我的模型的代码(简单的MNIST线性分类器,但我对我使用的每个模型都收到此警告):

fit_generator(<keras.pre..., steps_per_epoch=60000, validation_data=<keras.pre..., epochs=1, validation_steps=10000)

这是我的fit_generator()调用:

model = Sequential([
    Lambda(normalize_input, input_shape=(1, 28, 28)),
    Flatten(),
    Dense(10, activation='softmax')
])
model.compile(Adam(),
              loss='categorical_crossentropy',
              metrics=['accuracy'])

我理解这个警告告诉我的是什么。在我的情况下,这不是问题。我怎么能摆脱它?

1 个答案:

答案 0 :(得分:6)

如果您的函数调用中有任何Keras 1.0关键字,则会出现此警告。将nb_epoch替换为epochs,将nb_val_samples替换为validation_steps,以更新您的函数调用。