我在规范化BatchDataset时遇到问题。我尝试了很多不同的方法,但我总是会遇到一些错误,例如,当我想知道它是否有效时,无法呼叫
train_ds = tf.keras.preprocessing.image_dataset_from_directory(training_folder,
image_size=(256, 256),
label_mode="binary")
valid_ds = tf.keras.preprocessing.image_dataset_from_directory(validation_folder,
image_size=(256, 256),
label_mode="binary")
所以我得到了这个数据集的形状
<BatchDataset shapes: ((None, 256, 256, 3), (None, 1)), types: (tf.float32, tf.float32)>
如何规范化此数据集
此外,我的model.fit不起作用,但我找不到问题
num_classes = 2
input_shape = (224, 224, 3)
model = keras.Sequential(
[
keras.Input(shape=input_shape),
layers.Conv2D(32, kernel_size=(3, 3), activation="relu"),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Conv2D(64, kernel_size=(3, 3), activation="relu"),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Conv2D(64, kernel_size=(3, 3), activation="relu"),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Flatten(),
layers.Dropout(0.5),
layers.Dense(num_classes, activation="softmax"),
]
)
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
history = model.fit(train_ds,
epochs=5,
batch_size=128,
validation_data = valid_ds)
有什么建议吗? 谢谢
在图像数据集中指定图像尺寸为256 x 256,但在模型中指定输入形状为224 x 224。要重新缩放图像输入,请将其直接放在输入层之后
尝试使用
map
:我还建议你在最后一层使用1个神经元,激活
"sigmoid"
相关问题 更多 >
编程相关推荐