使用 TFLearn 和 Tensorflow 的多列深度神经网络

Multi Column Deep Neural Network with TFLearn and Tensorflow

我正在尝试使用 tflearn 和 tensorflow 构建多列深度神经网络 (MDNN)。 MDNN 在 this paper 中有解释。我正在努力解决的部分是如何将两个或多个输入加在一起以馈送到 tensorflow。

对于单个列,我有:

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 指定多个输入。

非常感谢任何帮助。

论文中解释的 MDNN 使用数据的随机(但有界)失真单独训练多个模型。一旦所有模型都经过训练,它们就会使用集成 classifier 通过对不同版本数据的所有模型的输出进行平均来生成预测。

据我了解,列不是联合而是独立训练的。因此,您必须创建不同的模型并在每个模型上调用 fit。我建议您开始训练单个模型,一旦您的训练设置取得了良好的效果,就复制它。要生成预测,您必须从 predict 函数计算预测概率的平均值,并取最可能的 class.

根据您的输入生成数据的一种方法是使用 data augmentation。但是,您必须将其替换为修改后的版本,而不是生成新数据。