【发布时间】:2020-04-02 17:37:47
【问题描述】:
代码从 colab 文件夹中读取我的图像。然后它使用生成器将代码拆分为训练集和验证集。我使用现有的预模型 Dense201 来训练它。但是我不确定为什么,因为生成器仍然陷入无限循环,并且生成验证数据的循环永远不会执行。有谁知道如何规避这个?
import tensorflow as tf
IMAGE_SIZE = 224
BATCH_SIZE = 64
datagen = tf.keras.preprocessing.image.ImageDataGenerator(
rescale=1./255,
validation_split=0.2)
train_generator = datagen.flow_from_directory(
base_dir,
target_size=(IMAGE_SIZE, IMAGE_SIZE),
batch_size=BATCH_SIZE,
subset='training')
val_generator = datagen.flow_from_directory(
base_dir,
target_size=(IMAGE_SIZE, IMAGE_SIZE),
batch_size=BATCH_SIZE,
subset='validation')
base_model = tf.keras.applications.DenseNet201(input_shape=IMG_SHAPE,
include_top=False,
weights='imagenet')
model = tf.keras.Sequential([
base_model,
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.GlobalAveragePooling2D(),
tf.keras.layers.Dense(5, activation='softmax')
])
model.compile(optimizer=tf.keras.optimizers.Adam(),
loss='categorical_crossentropy',
metrics=['accuracy'])
history = model.fit(train_generator,
epochs=2,
steps_per_epoch=100,
validation_data=val_generator)
【问题讨论】:
-
补充一下,两周前我在 colab 中跑步时一切正常
-
我遇到了同样的问题。将 Tensorflow 降级到 2.1.0 版本将解决一次问题。 (
pip install tensorflow==2.1.0)
标签: tf.keras