【发布时间】:2020-08-16 19:50:44
【问题描述】:
我正在开发用于图像分类的卷积神经网络,或者更好地用于车牌分类。这些车牌最多包含 8 个字符,每个字符可以包含 37 个字符(A-Z、0-9 和一个空格)。我现在想知道如何设计网络中的最后两层。我认为,最后一个必须是具有 37 个概率的 softmax 层。这应该完全连接到之前层中的一个(?)神经元?我认为,在之前的层中我们需要 8 个神经元,因为之前的车牌中有 8 个字符,但我在这里不确定。 在这些层之前,我添加了一些卷积层和 maxPooling 层。这是一种有效的方法还是您有其他建议?
我写了这段代码:
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3), input_shape = (600, 1200, 1), activation = "relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(64, activation = "relu"))
model.add(Dense(8, activation = "relu"))
model.add(Dense(37, activation = "softmax"))
model.compile(optimizer="rmsprop", loss="categorical_crossentropy", metrics=["accuracy"])
特别是关于我的 Flatten Layer 之后的层,我真的不确定......有没有人可以提供帮助?我希望我正确地描述了我的问题...
【问题讨论】:
标签: python architecture conv-neural-network