总之,与在特征图上执行ROI合并的Faster-RCNN和Mask-RCNN论文相似,我想对VGG19的最后一个卷积层的特征图应用一些更改。首先,我想将特征图划分为4个相等的部分,并将它们彼此重叠。然后,将其馈送到完全连接的层。
我所拥有的: 我正在使用https://github.com/sugi-chan/fgo-multi-task-keras/blob/master/fgo_multiclass.ipynb
上的示例基于https://keras.io/getting-started/faq/#how-can-i-obtain-the-output-of-an-intermediate-layer,我需要首先构建模型:
intermediate_layer_model = Model(inputs=model_input, outputs=x)
intermediate_layer_model.compile(loss=loss_list, optimizer=SGD(lr=0.01, momentum=0.9), metrics=test_metrics)
这个建议的问题:我想提取特征图并对其进行一些处理,同时继续对主要模型进行训练(在代码中称为multi_model()
上面引用)。但是,此建议可将功能作为输出来构建模型。
另一件事是,我在https://github.com/matterport/Mask_RCNN/blob/master/mrcnn/model.py上看到了RoIAlignPooling层代码,但是对于mnist数据集这样的简单示例,我很难使用它。感谢您的评论,代码,教程链接等。
答案 0 :(得分:0)
只要编写的过程是可区分的,您就可以在图层内做任何您想做的事情。
您可以创建一个tensorflow API,然后在该层中使用{{3}}做您想做的任何事情。您只需要使用TensorFlow函数执行所有操作。有时很难做到这一点,因为您仅处理张量操作。
在使用张量运算之前,请确保它是可微的。例如tf.multiply
是可区分的,tf.histogram_fixed_width
不是可区分的。
在您的情况下,此新层将是密集层的输入。