【发布时间】:2020-02-09 18:53:57
【问题描述】:
我正在尝试通过在训练阶段计算一些动态值(例如图像的 Hu 矩)来提高 CNN 的准确性,然后将它们提供给具有展平向量的全连接层,如我的模型图像所示:
我想为数据集中的每个图像计算 Hu 矩,然后在 flatten 操作之后,我想将 Hu 矩的值与 fatten 向量连接起来,并将其提供给全连接层。
这是我正在使用的模型(Tensorflow Keras):
layer1 = Conv2D(16, (3, 3),padding="same", activation='relu')(inpx)
layer2 = Conv2D(32, kernel_size=(3, 3),padding="same", activation='relu')(layer1)
layer3 = MaxPooling2D(pool_size=(2, 2))(layer2)
layer4 = Conv2D(64, kernel_size=(5, 5),padding="same", activation='relu')(layer3)
layer5 = Conv2D(128, kernel_size=(5, 5),padding="same", activation='relu')(layer4)
layer6 = MaxPooling2D(pool_size=(2, 2))(layer5)
layer7 = Dropout(0.5)(layer6)
layer8 = Flatten()(layer7)
layer9 = Dense(250, activation='sigmoid')(layer8)
layer10 = Dense(10, activation='softmax')(layer9)
model = Model([inpx], layer10)
model.compile(optimizer=keras.optimizers.Adadelta(),
loss=keras.losses.categorical_crossentropy,
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=10, batch_size=500)
score = model.evaluate(x_test, y_test, verbose=0)
我使用的数据集是 MNIST 手写数字。
【问题讨论】:
-
你有什么问题?
-
你为什么使用全连接层而不是 CNN?
-
我的问题是如何将每个图像的动态值(如 Hu 矩)输入到扁平向量旁边的全连接层
标签: python tensorflow keras deep-learning conv-neural-network