2016-11-23 7 views
0

TensorflowでMLP(マルチレイヤパーセプトロン)を構築しようとしています。 numpyを使用して生成されたデータセットを使用しています。データセットには2つの変数があり、そのうちの1つはラベルです。データセットには、の範囲で正規化された100ポイントが含まれています。TensorflowでDictエラーが発生する

print(trainX[0:3]) 

[ 0.2853112 0.2433195 0.56746888] 

0.5上記のすべての値は、それ以外の場合は、ラベル2を持って、ラベル1を持っています。

print(trainY[0:3]) 

    [2 2 1] 

この問題は、tf.Session()ループで発生します。

with tf.Session() as sess: 

    sess.run(init) 

    for epoch in range(training_epochs): 
     #avg_cost = 0. 

     for (xs, ys) in zip(trainX, trainY): 
      sess.run(optimizer, feed_dict={X:xs, Y:ys}) 

スクリプトは次のエラーで、その最後の行で終了する:スクリプトでアップさらに

InvalidArgumentError: Expected begin[0] == 0 (got -1) and size[0] == 0 (got 1)  when input.dim_size(0) == 0 
[[Node: Slice_132 = Slice[Index=DT_INT32, T=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](Shape_134, Slice_132/begin, Slice_132/size)]] 

次のように、私はプレースホルダを宣言:

X = tf.placeholder("float") 
Y = tf.placeholder("float") 

Iより多くのコードを投稿して幸いです。簡潔にするために、私は(これまで)すべてを投稿していません。

+1

もっとコードを提供できますか?あなたのコードのどこかで無効なスライス操作があるようです。 – Neal

+0

こんにちはニール、私は完全なスクリプトを書きました。問題の原因となったコードを投稿することができます。 https://github.com/miramolin/TensorFlowTutorials/blob/master/TFRoughlings.ipynb –

答えて

1

0から始まるラベルインデックスを変更してみてください。あなたのケースでは、trainY = np.array([1, 1, 0])です。私はそれがあなたの問題を解決するだろうと思う。

+1

おそらく、trainXでエラーがあります。trainYではなく、tracebackエラー – daoliker

関連する問題