fit_generator()缺少1个必需的位置参数:“generator”

hmmo2u0o  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(844)

我需要帮助来解决这个问题。我不确定出了什么问题,但错误依然存在。环顾四周,但没有发现类似的问题。

  1. import matplotlib.pyplot as plt
  2. from PIL import Image
  3. import os
  4. import numpy as np
  5. from skimage import io
  6. from keras.preprocessing.image import ImageDataGenerator
  7. from matplotlib import cm
  8. from mpl_toolkits.axes_grid1 import ImageGrid
  9. import math
  10. %matplotlib inline
  11. import keras
  12. import tensorflow as tf
  13. from keras.models import Model
  14. batch_size=32
  15. datagen_args = dict(rotation_range=20,
  16. width_shift_range=0.2,
  17. height_shift_range=0.2,
  18. rescale=1./255)
  19. datagen = ImageDataGenerator(**datagen_args)
  20. train_datagenerator = datagen.flow_from_directory('/content/drive/MyDrive/cats_dogs_small/train',target_size=(128,128),
  21. batch_size=batch_size,interpolation="lanczos",shuffle=True)
  22. valid_datagenerator = datagen.flow_from_directory('/content/drive/MyDrive/cats_dogs_small/validation',target_size=(128,128),
  23. batch_size=batch_size,interpolation="lanczos",shuffle=True)
  24. epochs = 25
  25. hist = Model.fit_generator(train_datagenerator,
  26. steps_per_epoch= math.ceil(train_datagenerator.samples//batch_size),
  27. epochs=epochs, validation_data=valid_datagenerator, validation_steps=math.ceil(valid_datagenerator.samples//batch_size),verbose = 1, workers=8)

错误消息如下所示:

  1. TypeError Traceback (most recent call last)
  2. <ipython-input-69-178574fd407f> in <module>()
  3. 2 hist = Model.fit_generator(train_datagenerator,
  4. 3 steps_per_epoch= math.ceil(train_datagenerator.samples//batch_size),
  5. ----> 4 epochs=epochs, validation_data=valid_datagenerator, validation_steps=math.ceil(valid_datagenerator.samples//batch_size),verbose = 1, workers=8)
  6. TypeError: fit_generator() missing 1 required positional argument: 'generator'
ndasle7k

ndasle7k1#

fit生成器已折旧,请使用model.fit。注意:您使用了model.fit\u生成器。您应该使用model.fit。

z3yyvxxp

z3yyvxxp2#

我意识到我没有定义什么是模型。添加图层,编译并重试。这次可以了。我是新手,还有很多东西要学!

相关问题