我正在尝试训练一个卷积神经网络。因此,我使用的数据集为646张图像/车牌,包含8个字符(0-9,a-Z;不含字母“O”和空格,总共36个可能的字符)。这些是我的培训数据。它们的形状是(646, 40, 200, 3)
,颜色代码为3。我将它们调整为相同的形状
我还有一个包含这些图像标签的数据集,我将其热编码为shape(646, 8, 36)
的numpy数组。此数据是我的y_train
数据
现在,我尝试应用一个神经网络,它看起来像这样: 架构取自本文:https://ieeexplore.ieee.org/abstract/document/8078501
我排除了批处理规范化部分,因为这部分对我来说不是最有趣的部分。但是我很不确定这一层的顶部。这意味着最后一个池层后面以model.add(Flatten())
开头的部分
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3), input_shape = (40, 200, 3), activation = "relu"))
model.add(Conv2D(32, kernel_size=(3, 3), activation = "relu"))
model.add(Conv2D(32, kernel_size=(3, 3), activation = "relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, kernel_size=(3, 3), activation = "relu"))
model.add(Conv2D(64, kernel_size=(3, 3), activation = "relu"))
model.add(Conv2D(64, kernel_size=(3, 3), activation = "relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(128, kernel_size=(3, 3), activation = "relu"))
model.add(Conv2D(128, kernel_size=(3, 3), activation = "relu"))
model.add(Conv2D(128, kernel_size=(3, 3), activation = "relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(16000, activation = "relu"))
model.add(Dense(128, activation = "relu"))
model.add(Dense(36, activation = "relu"))
model.add(Dense(8*36, activation="Softmax"))
model.add(keras.layers.Reshape((8, 36)))
提前非常感谢
假设下面的图像与您的模型架构相匹配,则可以使用代码创建模型。确保输入图像有一些填充
相关问题 更多 >
编程相关推荐