我正在尝试用tflearn和tensorflow构建一个多列深度神经网络(MDNN)。 MDNN在this paper中有解释。我正在努力的部分是如何将两个或多个输入加在一起以供给张量流。
对于单列,我有:
network = tflearn.input_data(shape=[None, image_shape, image_shape, 3])
和
model.fit(X_input, y_train, n_epoch=50, shuffle=True,
validation_set=(X_test_norm, y_test),
show_metric=True, batch_size=240, run_id='traffic_cnn2')
其中X_input
的形状为(31367, 32, 32, 3)
。我对numpy,tensorflow和tflearn很新。现在的困难在于如何为tflearn指定多个输入。
非常感谢任何帮助。
答案 0 :(得分:1)
本文中解释的MDNN使用随机(但有界)的数据失真单独训练了几个模型。一旦所有模型都经过训练,他们就会使用集合分类器通过平均不同版本数据上所有模型的输出来产生预测。
据我了解,这些专栏不是联合培训,而是独立培训。因此,您必须创建不同的模型,并在每个模型上调用适合它们。我建议您开始训练单个模型,一旦您获得了良好的训练设置,就可以复制它。要生成预测,您必须从预测函数计算预测概率的平均值,并获取最可能的类。
从输入生成数据的一种方法是使用data augmentation。但是,您必须将其替换为修改后的版本,而不是生成新数据。