TensorFlow GradCAM - model.fit() - ValueError: Shapes (None, 1) and (None, 2) are incompatible
TensorFlow GradCAM - model.fit() - ValueError: Shapes (None, 1) and (None, 2) are incompatible
作为 Coursera CV TF 课程作业 4 的一部分,我的代码在 model.fit()
中失败
model.compile(loss='categorical_crossentropy',metrics=
['accuracy'],optimizer=tf.keras.optimizers.RMSprop(lr=0.001))
# shuffle and create batches before training
model.fit(train_batches,epochs=25)
有错误:
ValueError: Shapes (None, 1) and (None, 2) are incompatible
关于问题可能来自何处的任何提示?我怀疑 train_batches
:
的格式或类型不正确
train_data = tfds.load('cats_vs_dogs', split='train[:80%]', as_supervised=True)
augmented_training_data = train_data.map(augmentimages)
train_batches = augmented_training_data.batch(32)
虽然我不熟悉架构的确切代码,但我怀疑是这一行:
model.compile(loss='categorical_crossentropy',metrics=
['accuracy'],optimizer=tf.keras.optimizers.RMSprop(lr=0.001))
您可能使用 categorical_crossentropy
而不是 binary_crossentropy
进行二进制分类,输出有 1 个神经元,但这只是一个假设,因为我没有代码和架构可供查看;事实上,我 99% 认为问题出在此处。
作为 Coursera CV TF 课程作业 4 的一部分,我的代码在 model.fit()
model.compile(loss='categorical_crossentropy',metrics=
['accuracy'],optimizer=tf.keras.optimizers.RMSprop(lr=0.001))
# shuffle and create batches before training
model.fit(train_batches,epochs=25)
有错误:
ValueError: Shapes (None, 1) and (None, 2) are incompatible
关于问题可能来自何处的任何提示?我怀疑 train_batches
:
train_data = tfds.load('cats_vs_dogs', split='train[:80%]', as_supervised=True)
augmented_training_data = train_data.map(augmentimages)
train_batches = augmented_training_data.batch(32)
虽然我不熟悉架构的确切代码,但我怀疑是这一行:
model.compile(loss='categorical_crossentropy',metrics=
['accuracy'],optimizer=tf.keras.optimizers.RMSprop(lr=0.001))
您可能使用 categorical_crossentropy
而不是 binary_crossentropy
进行二进制分类,输出有 1 个神经元,但这只是一个假设,因为我没有代码和架构可供查看;事实上,我 99% 认为问题出在此处。