我正在研究皮肤癌图像分类。我的数据集包含来自三个类别的图像。我给每个班级的标签分别是0,1和2。 0-1级图片 1 =二等图像 2 =三等图像 在我编译模型时,我遇到了一个错误,这确实困扰着我。我收到的错误是-
tensorflow.python.framework.errors_impl.InvalidArgumentError:接收到标签值2,该值超出有效范围[0,1)。标签值:2 2 2 2 2 2 2 2 2 2 0 2 2 0 2 2 0 1 0 0 2 2 2 2 2 2 0 2 2 2 2 1
我用于编译模型的代码是-
model.compile(loss='sparse_categorical_crossentropy',optimizer = optimizers.RMSprop(lr=2e-5),metrics=['acc'])
有人可以指出我正在做的错误吗?
编辑1: 我的模型代码是-
from keras.applications import InceptionResNetV2
conv_base = InceptionResNetV2(weights = 'imagenet',include_top=False,input_shape=(150,150,3))
from keras import layers
from keras import models
model=models.Sequential()
model.add(conv_base)
model.add(layers.Flatten())
model.add(layers.Dense(256,activation='relu'))
model.add(layers.Dense(1,activation='softmax'))
答案 0 :(得分:1)
您模型的输出仅对应一个类的情况,而不是三个类的情况,因此应替换此行:
model.add(layers.Dense(3,activation='softmax'))