2

我正在尝试使用简单的示例来学习 Keras GraphNN 。我有一个包含 784 个特征的简单示例数据集,我想运行这个示例:

 # graph model with one input and two outputs
    graph = Graph()
    graph.add_input(name='input', input_shape=(784,))
    graph.add_node(Dense(input_dim=784, output_dim=13), name='dense1', input='input')
    graph.add_node(Dense(input_dim=13, output_dim=1), name='dense2', input='input')
    graph.add_node(Dense(input_dim=13, output_dim=1), name='dense3', input='dense1')
    graph.add_output(name='output1', input='dense2')
    graph.add_output(name='output2', input='dense3')

    graph.compile('rmsprop', {'output1': 'mse', 'output2': 'mse'})
    graph.fit({'input': X_train, 'output1': y_train, 'output2': y_train}, nb_epoch=30)
### here is where I am facing difficulty
    score = graph.evaluate({'input': X_test, 'output1': y_test, 'output2': y_test}, batch_size=16, verbose=1)
    print 'score: ', score

该文档提到graph.evaluate()

evaluate (data, batch_size=128, verbose=1):显示模型在一些验证数据上的性能。 返回:数据的损失分数。 参数:与上述 fit 方法的含义相同。详细用作二进制标志(进度条或无)。

从定义中graph.fit()我们知道:

参数data :dictionary 将输入名称映射到输出名称到适当的 numpy 数组。所有数组应包含相同数量的样本。

虽然我的适合方法运行完美,但我IndexError: index 1 is out of bounds for size 1继续evaluate

我的输入形状是:

Xtrain:  (32738, 784)
Xtest:  (16125, 784)
ytest:  (16125,)
ytrain:  (32738,)

我在这里想念什么?

4

0 回答 0