我正尝试使用nolearn并使用ConcatLayer来组合多个输入。只要每个输入具有相同的类型和形状,它就会很好地工作。我有三种不同类型的输入,最终会产生一个标量输出值。尝试使用具有不同形状输入的ConcatLayer
第一输入是尺寸(288,1001)
第二输入是长度87
第三的向量是一个标量值的图像
我在第一个输入上使用Conv2DLayer(s)。 第二个输入使用Conv1DLayer或DenseLayer(不知道哪个会更好,因为我无法得到足够的结果来看看会发生什么) 我甚至不确定第三个输入应该如何设置,因为它只是一个我想要馈入网络的价值。
的代码在ConcatLayer吹了: “不匹配:输入形状必须是除了在上述串列轴线”
这将是永远感激,如果有人能写出一个超级简单的网络结构可以接受这些类型的输入并输出单个标量值。我一整天都在Google上搜索,根本找不到这个。
拟合函数看起来是这样的,如果它是有帮助的就知道了,你可以看到我输入字典,一个项目对每个类型的输入:
X = {'base_input': X_base, 'header_input': X_headers, 'time_input':X_time}
net.fit(X, y)
出于某种原因,我没有想到我可以用DenseLayer重塑它。我想我以为图书馆会有一种合并的方式,但经过进一步的思考,我意识到这样一个过程可能无法用合理的默认方式来概括。然后,很明显,我将不得不提供重塑所需的图层。感谢您的非常有用的答案! – Beaker