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

Jan*_*ski 4 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参数的语义与Keras steps_per_epoch1参数不同samples_per_epoch.steps_per_epoch是每个时代从发电机中抽取的批次数.基本上是steps_per_epoch = samples_per_epoch/batch_size.同样nb_val_samples- > validation_stepsval_samples- > steps参数已更改.相应地更新方法调用./Users/username/anaconda/envs/tensorflow/lib/python3.6/site-packages/ipykernel/ main .py:5:UserWarning:更新您fit_generator对Keras 2 API的调用:fit_generator(<keras.pre..., steps_per_epoch=60000, validation_data=<keras.pre..., epochs=1, validation_steps=10000)

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

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

这是我的fit_generator()调用:

model.fit_generator(batches, 
                 steps_per_epoch=steps_per_epoch, 
                 nb_epoch=1, 
                 validation_data=test_batches, 
                 nb_val_samples=test_batches.n)
Run Code Online (Sandbox Code Playgroud)

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

Yu-*_*ang 8

如果函数调用中存在任何Keras 1.0关键字,则会出现此警告.更新替换您的函数调用nb_epochepochs,并nb_val_samplesvalidation_steps.