【发布时间】:2020-07-04 16:29:17
【问题描述】:
我正在做一个有 10 个类别的多标签图像分类,我有 1981 年的数据,而标记的数据只有 1981 年的 1000 个。
我用这个配置
#begin model
model = Sequential()
model.add(Conv2D(filters=16, kernel_size=(5, 5), activation="relu", input_shape=(400,400,1)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(filters=32, kernel_size=(5, 5), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(filters=64, kernel_size=(5, 5), activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(filters=64, kernel_size=(5, 5), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(79, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='sigmoid'))
model.summary()
与
sgd = optimizers.SGD(lr=0.001, momentum=0.9, decay=1e-6, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
使用那个编译配置,我得到了 65% 的准确率和 nan 损失,而如果我使用 binary_crossentropy,我也只有 10% 的准确率和 nan 损失,我对这个编译配置有点困惑,其中损失我应该使用配置吗?
【问题讨论】:
标签: python-3.x keras