我尝试运行此代码,但当我要训练我的模型并引发此错误时仍然遇到此错误: 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'