有人可以帮助我解决这个问题,为什么我损失0.0000e + 00。
我环顾四周,很少有人遇到相同的问题,但是我无法按照相同的建议进行修复。
行被改组,并且标签已经转换为float32。这些是我在类似问题上发现的建议。你能告诉我我错了吗?
此问题是类别大于1的图像的分类。
这就是我创建模型的方式
def createmodel():
pretrained = InceptionV3(input_shape=(150,150,3),
include_top=False,
weights='imagenet')
for layer in pretrained.layers:
layer.trainable = False
x = layers.Flatten()(pretrained.output)
x = layers.Dense(1024,activation='relu')(x)
x = layers.Dropout(0.2)(x)
x = layers.Dense(1,activation="softmax")(x)
model = Model(pretrained.input,x)
model.compile(optimizer = Adam(0.001),
loss = 'categorical_crossentropy',
)
return model
Epoch 1/2
10/10 [==============================] - 3s 322ms/step - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 2/2
10/10 [==============================] - 5s 464ms/step - loss: 0.0000e+00 - val_loss: 0.0000e+00
答案 0 :(得分:1)
最后一层有问题。大小应等于类别数,而不是1,即:
x = layers.Dense(num_classes, activation="softmax")(x)
假设num_classes
是数据中不同类别的数量。