6

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

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

/Users/username/anaconda/envs/tensorflow/lib/python3.6/site-packages/ipykernel/ main .py:5: UserWarning: Keras 2 参数的语义与 Keras 1 参数的语义steps_per_epoch不同samples_per_epochsteps_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:用户警告:更新您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'])

这是我的 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)

我明白这个警告告诉我什么。就我而言,这不是问题。我怎样才能摆脱它?

4

1 回答 1

12

如果您的函数调用中有任何 Keras 1.0 关键字,则会出现此警告。通过替换 和 来更新您nb_epochepochs函数nb_val_samples调用validation_steps

于 2017-09-20T06:06:34.240 回答