2017-09-20 5 views
2

Jupyter Notebook에서 Python 3 커널과 함께 Keras 2.0.8을 사용하고 있습니다. 내 백엔드는 TensorFlow 1.3이고 Mac에서 개발 중입니다.Keras 2 fit_generator UserWarning :`steps_per_epoch`는 Keras 1 인수`samples_per_epoch`와 같지 않습니다.

내가 fit_generator() 나는 다음과 같은 경고 받고 있어요 사용하고 있습니다 때마다 :

/Users/username/anaconda/envs/tensorflow/lib/python3.6/site-packages/ipykernel/ 주를 .py : 5 : UserWarning : Keras 2 인수 steps_per_epoch의 의미는 Keras 1 인수 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/ 주요 평 : 5 : UserWarning : fit_generator(<keras.pre..., steps_per_epoch=60000, validation_data=<keras.pre..., epochs=1, validation_steps=10000)

다음 Keras 2 API로 fit_generator 전화를 업데이트

아래는 내 모델에 대한 코드입니다 (단순 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) 

이 경고문의 의미를 이해합니다. 제 경우에는 문제가되지 않습니다. 어떻게 제거 할 수 있습니까?

답변

3

이 경고는 Keras 1.0 키워드가 함수 호출에있는 경우 발생합니다. nb_epochepochs으로 바꾸고 nb_val_samplesvalidation_steps으로 바꾸어 함수 호출을 업데이트하십시오.

+0

고마워요! 어떻게 든 나는 그것을 놓쳤다. –

관련 문제