运行model.fit_generator出现弃用报错的原因及解决办法是什么?
报错成因
这个警告触发的原因是你当前使用的TensorFlow/Keras版本为2.1及以上版本,Keras官方从该版本起已将fit_generator接口标记为废弃状态。fit_generator原本是Keras专门提供的、用于对接流式数据生成器(比如ImageDataGenerator输出的训练/测试集、自定义Python生成器)的训练接口,目前官方已经把生成器适配能力完全整合进了原生的model.fit()方法中,不再需要单独调用fit_generator,后续新版本会彻底移除该接口,因此调用时会触发该废弃提示。
解决方案
方案1:直接替换接口(推荐)
新版model.fit()已经完全兼容原fit_generator的所有传参,不需要调整任何参数内容,只需要把方法名从fit_generator修改为fit即可正常运行,修改后的代码如下:
r = model.fit( training_set, validation_data=test_set, epochs=50, steps_per_epoch=len(training_set), validation_steps=len(test_set) )
方案2:临时屏蔽警告(不推荐长期使用)
如果需要临时兼容旧代码不想做修改,可以在训练代码前添加如下代码,过滤该废弃警告:
import warnings warnings.filterwarnings("ignore", category=DeprecationWarning)
该方案仅为临时兼容手段,后续版本fit_generator会被彻底移除,依然建议尽早替换为fit接口。
内容的提问来源于stack exchange,提问作者user14634107
相关产品推荐
相关产品推荐

