Keras的图像分类器没有收敛

时间:2017-12-20 03:43:12

标签: machine-learning tensorflow computer-vision keras conv-neural-network

所有。我正在尝试使用Keras(Tensorflow作为后端)构建图像分类器。目标是将模因与其他图像分开。

我正在使用结构卷积层+完全连接的层与最大池和丢失。

代码如下:

model = Sequential()
model.add(Conv2D(64, (3,3), activation='relu', input_shape=conv_input_shape))
model.add(Conv2D(64, (3,3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.
compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])

输入是形状矩阵(n,100,100,3)。 n分辨率为100 x 100的RGB图像,输出标签对于模因为[1,0],否则为[0,1]。

然而,当我训练模型时,损失不会从第一次迭代开始减少。

代码中是否有任何内容?

我认为meme在很多方面与其他图像没有什么不同,除了它们中的一些具有某些字幕以及其他一些特征。

有什么更好的架构来解决这样的问题?

0 个答案:

没有答案