我有一个名为“train”的文件夹,它分为8个子文件夹,每个子文件夹包含一个类的数据(图像)(因此我的数据集是一个包含8个类的多类文件夹)。现在我有以下问题:
datagen.fit( xtrain ),我不知道如何用我的所有数据创建x _train,这些数据是在不同的文件夹中分离的,因为我以前没有使用过python处理过图像。注意:我有足够的内存一次存储所有的数据。发布于 2021-12-06 09:18:03
请按照下面的示例代码片段来解决您的查询。(我使用了两个类的20个图像数据集)
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
PATH ="/train/" #path to your train directory which contains 8 subfolders
train_datagen = ImageDataGenerator(rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True)
train_generator = train_datagen.flow_from_directory(PATH, target_size=(50, 50), batch_size=5, class_mode='binary') #class_mode='categorical'输出:
Found 20 images belonging to 2 classes.定义和编译模型之后,将此数据集与模型相匹配。
num_classes = 2 # you can define num_classes = 8
model = tf.keras.Sequential([
tf.keras.layers.Rescaling(1./255),
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(num_classes)
])
model.compile(optimizer='adam',loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),metrics=['accuracy'])
model.fit(train_generator,steps_per_epoch=2,epochs=5) # you can define steps_per_epoch=(number of images/batch_size),epochs有关更多信息,请参考此链接。
https://stackoverflow.com/questions/70215951
复制相似问题