一起训练多个tensorflow NN

时间:2019-12-28 21:50:10

标签: python tensorflow

我正在使用一个模型使用多个不同的功能集合。每组特征都有一个NN,但是它们都具有相同的结构。 NN的结构如下:

results = []
sources = [input1, input2,...]
for src in sources :
    result = Dense(25)(src)
    results.append(result)
Model = model(input=sources, output=results) 

我的模型确实可以运行,因此可以编译和训练。

我的问题是,由于每个分量都是独立的,单个密集层是否将使用其对应的y数组中的损失进行训练?还是使用合并损失对所有神经网络进行训练?

我希望尽可能将所有的NN保持在一起,因为它们将始终一起运行。

1 个答案:

答案 0 :(得分:0)

每个不同的NN中的所有变量都将彼此独立,因此组合损失可以视为独立的。您需要注意的是,您将拥有N个输出张量,其中N是您拥有的不同神经网络的数量(即结果数组的长度)。

您将必须手动确保标签的结构与模型输出的结构相同,或者创建自定义损失函数来处理此问题。一种方法是使用tf.stack或tf.concat合并输出,然后复制标签以匹配它们。