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): いくつかの検証データに対するモデルのパフォーマンスを示します。 Return : データの損失スコア。 引数: 上記の fit メソッドと同じ意味。verbose は、バイナリ フラグとして使用されます (進行状況バーまたは何もない)。

の定義から、次の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