缺少数据错误。大约 4-5 天前,同一代码上不存在此错误。模型创建代码:
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(27, 48, 1)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation("relu"))
model.add(Dropout(0.5))
model.add(Dense(10))
model.add(Activation('sigmoid'))
model.compile(loss="categorical_crossentropy", optimizer="adam",
metrics=["accuracy"])
学习代码
datagen = ImageDataGenerator()
dirTrain = "/content/GeneratedI/train"
train_data = datagen.flow_from_directory(dirTrain, target_size=(27, 48), batch_size=100,
class_mode="categorical", color_mode="grayscale")
dirVal = "/content/GeneratedI/val"
validation_data = datagen.flow_from_directory(dirVal, target_size=(27, 48), batch_size=100,
class_mode="categorical", color_mode="grayscale")
print("Training the network...")
t_start = time.time()
history = model.fit_generator(train_data,
steps_per_epoch=60000 // 10,
epochs=1,
validation_data=validation_data,
validation_steps=10000 // 10)
print(time.time() - t_start)
肯定有图像,60k 用于训练,10k 用于验证。甚至输出也证实了这一点:
Found 60000 images belonging to 10 classes.
Found 10000 images belonging to 10 classes.
我使用谷歌协作
第一种和第二种情况,需要除以batch的大小。根据生成器判断,你有 100 个: