有一个科学文件,实现了一个卷积神经网络分类3种不同类型的数据,尽管如何准确,是我所不知道的。
以下是对网络体系结构的解释:
这一部分描述了我们的神经网络的结构,如图3所示。我们的网络有三种类型的输入:屏幕截图(我们使用尺寸为1280×1280的页面上的裁剪,但是该网络可以处理任意大小的页面)、TextMaps (维数为128 \times 160 \times 160的张量)和候选框(任意长度的盒坐标列表)。截图由三个卷积层处理(前两层由BVLC AlexNet的预训练权值初始化)。TextMaps被处理为一个卷积层,内核大小为1 \times 1,因此它的特征捕获了各种单词的组合。然后将这两个层连接起来,由最终的卷积层处理。

我们的网络究竟意味着什么,上面有三种输入?卷积神经网络是否有可能以不同的方式传递不同的输入?
根据我的理解,用于屏幕输入的神经网络是这样创建的:
def CNN(features, labels, mode):
input_layer = tf.reshape(image, [-1, 1280, 1280, 1])
# Conv+ReLU
conv_relu_1 = tf.layers.conv2d(
inputs=input_layer,
filters=96,
kernel_size=[11, 11],
padding="same",
activation=tf.nn.relu)
# MaxPool
pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[3, 3], strides=2)
# Conv + ReLU
...那么,假设这是第一个神经网络,那么我应该为TextMaps和级联结果创建另一个神经网络吗?还是每个魔术都发生在一个单一的神经网络中?
简单地说,我是否可以单独创建接受不同类型输入的神经网络,或者对每种输入使用不同的神经网络,然后对它们的输出进行分组?
谢谢!
发布于 2019-01-19 19:22:38
简单地说,我是否可以单独创建接受不同类型输入的神经网络,或者对每种输入使用不同的神经网络,然后对它们的输出进行分组?
可以,停那儿吧。检查Keras的功能API,如何定义多输入/输出网络。然后,您可以创建处理每个输入的不同模型,并使用keras.models.Model()类将它们合并到一个多输入模型中。
在下面的示例中,您可以看到main_input的处理方式与aux_input不同,并且两者随后合并在一起,通过网络的其他层传播。

https://datascience.stackexchange.com/questions/44246
复制相似问题