我正在使用tf.keras.preprocessing.image.ImageDataGenerator类加载训练图像。我选择使用flow_from_dataframe函数。但是,当我尝试使用num_classes创建图层时,出现错误:AttributeError:'DataFrameIterator'对象没有属性'num_classes'
datagen=tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255.)
image_data=datagen.flow_from_dataframe(
dataframe=df[:1700],
directory='/tf/notebooks/2222/Face Images',
x_col="Filename",
y_col="Race",
batch_size=32,
#seed=42,
shuffle=True,
class_mode="categorical",
target_size=(224,224))
model = tf.keras.Sequential([
feature_extractor_layer,
layers.Dense(image_data.num_classes, activation='softmax')
])
model.summary()
答案 0 :(得分:1)
在flow_from_dataframe
的情况下,您需要使用其他方法来获取类数:
例如:
len(train_generator.class_indices)
所以您的代码应如下所示:
model = tf.keras.Sequential([
feature_extractor_layer,
layers.Dense(len(image_data.class_indices), activation='softmax')
])