0

我尝试运行此代码,但当我要训练我的模型并引发此错误时仍然遇到此错误: AttributeError: 'DirectoryIterator' object has no attribute 'shape'

如果有人遇到此错误并修复它,请告诉我您是如何修复它的。

谢谢
(我正在使用pycharm)

     from tensorflow.keras.models import Sequential
     from tensorflow.keras.layers import Convolution2D
     from tensorflow.keras.layers import MaxPooling2D
     from tensorflow.keras.layers import Flatten
     from tensorflow.keras.layers import Dense
     import tensorflow as tf
     from pil import Image

     classifier = tf.keras.models.Sequential()

     classifier.add(tf.keras.layers.Convolution2D(filters=32, kernel_size=3, padding="same", 
     input_shape= (64,64, 3),activation='relu'))
     classifier.add(tf.keras.layers.MaxPooling2D(pool_size=2, strides=2, padding='valid'))


     classifier.add(tf.keras.layers.Convolution2D(filters=64, kernel_size=3, padding="same" , 
     activation="relu"))
     classifier.add(tf.keras.layers.MaxPooling2D(pool_size=2, strides=2, padding='valid'))


     classifier.add(tf.keras.layers.Flatten())


     classifier.add(tf.keras.layers.Dense(units=128, activation='relu'))
     classifier.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))


     classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
     classifier.summary()


     from keras.preprocessing.image import ImageDataGenerator

     train_datagen = ImageDataGenerator(rescale=1./255,
                                       shear_range=0.2,
                                       zoom_range=0.2,
                                       horizontal_flip=True)

     test_datagen = ImageDataGenerator(rescale=1./255,
                                      shear_range=0.2,
                                      zoom_range=0.2,
                                      horizontal_flip=True)

     training_set = train_datagen.flow_from_directory('dataset/training_set',
                                                     target_size=(64, 64),
                                                     batch_size=32,
                                                     class_mode='binary')

     test_set = test_datagen.flow_from_directory('dataset/test_set',
                                                target_size=(64, 64),
                                                batch_size=32,
                                                class_mode='binary')

     classifier.fit_generator(training_set,
                             steps_per_epoch=8000,
                             epochs=25,
                             validation_data=test_set,
                             validation_steps=2000)

回溯(最近一次通话最后):

File "<input>", line 5, in <module>
      File "C:\Users\rahul\AppData\Local\Programs\Python\Python37\lib\site- 
 packages\tensorflow_core\python\keras\engine\training.py", line 1297, in fit_generator
        steps_name='steps_per_epoch')
      File "C:\Users\rahul\AppData\Local\Programs\Python\Python37\lib\site- 
 packages\tensorflow_core\python\keras\engine\training_generator.py", line 144, in model_iteration
        shuffle=shuffle)
      File "C:\Users\rahul\AppData\Local\Programs\Python\Python37\lib\site- 
 packages\tensorflow_core\python\keras\engine\training_generator.py", line 477, in  
 convert_to_generator_like
        num_samples = int(nest.flatten(data)[0].shape[0])
    AttributeError: 'DirectoryIterator' object has no attribute 'shape'
4

0 回答 0