Python 如何使用支持生成器的Model.fit(在fit\u生成器弃用之后)
在使用tensorflow中的Python 如何使用支持生成器的Model.fit(在fit\u生成器弃用之后),python,tensorflow,keras,Python,Tensorflow,Keras,在使用tensorflow中的模型时,我收到了此弃用警告。在tensorflow中安装生成器: WARNING:tensorflow: Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version. Instructions for updating: Please use Model.fit, which suppo
模型时,我收到了此弃用警告。在tensorflow中安装生成器
:
WARNING:tensorflow: Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.
Instructions for updating:
Please use Model.fit, which supports generators.
如何使用
Model.fit
而不是Model.fit\u generator
?Model.fit\u generator
从tensorflow 2.1.0开始被弃用,该版本目前位于rc1中。
您可以在此处找到tf-2.1.0-rc1的文档:
如您所见,模型的第一个参数。fit
可以接受一个生成器,因此只需将其传递给您的生成器。如(我的重点部分)中所述:
x:输入数据。可能是
- Numpy数组(或类似数组)或数组列表(如果模型有多个输入)
- 张量流张量或张量列表(如果模型有多个输入)
- 如果 模型已命名输入
- 一个tf.data数据集。应返回(输入、目标)或(输入、目标、样本权重)的元组
- 生成器或keras.utils.Sequence返回(输入、目标)或(输入、目标、样本权重)。更详细的描述 迭代器类型(数据集、生成器、序列)的解包行为 下面给出了一个例子
Model.fit
,与Model.fit\u生成器类似
data_gen_train = ImageDataGenerator(rescale=1/255.)
data_gen_valid = ImageDataGenerator(rescale=1/255.)
train_generator = data_gen_train.flow_from_directory(train_dir, target_size=(128,128), batch_size=128, class_mode="binary")
valid_generator = data_gen_valid.flow_from_directory(validation_dir, target_size=(128,128), batch_size=128, class_mode="binary")
model.fit(train_generator, epochs=2, validation_data=valid_generator)
你的回答不正确,或者,我应该说,只是部分正确。模型中不支持有效的\u生成器。fit@sidk是的。@sidk是的,似乎fit
paramvalidation\u data
不支持dataset、generator或keras.utils.Sequence,并且当paramx
是dataset、generator时,不支持validation\u split
,或keras.utils.Sequence perfit
info at