使用 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。但是,您必须将其替换为修改后的版本,而不是生成新数据。
我正在尝试使用 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。但是,您必须将其替换为修改后的版本,而不是生成新数据。