2016-03-26 24 views
0

自分の画像データセットを使用してCNNを訓練しようとしていますが、feed_dictにバッチデータとラベルを渡すとValueError: setting an array element with a sequenceが読み取れます。hereそしておそらく私のbatch_labelテンソルから来ていますが、私はそれをワンホットTensor(私のグラフが期待するもの)にする方法を理解できませんでした。Tensorflow:配列を持つ配列要素を設定する

私はここで要点として完全なコードアップロード:https://gist.github.com/guivn/f7f753547f77a3b12992

答えて

1

TLを; DR:あなたが他のテンソルの値としてtf.Tensorオブジェクト(すなわちbatch_dataとあなたのgistbatch_labelsを。)養うことができません。 (私は、TensorFlowの最近のバージョンではエラーメッセージがより明確になるはずです)

残念ながら、feed/tf.placeholder()メカニズムを使用して、1つのTensorFlowグラフの結果を別のTessorFlowグラフに渡すことはできません。よくある混乱や機能要求であるため、これを簡単にする方法を検討しています。あなたの正確なプログラムのために、しかし、これは簡単に解決する必要があります。単に入力を作成するlinesを移動して、プレースホルダを置き換えます。あなたは同じモデル—例えば介して別のデータセットを渡したい場合は、一般的に

with graph.as_default(): 

    # Input data. 
    filename_and_label_tensor = tf.train.string_input_producer(['train.txt'], shuffle=True) 
    data, label = parse_csv(filename_and_label_tensor) 
    tf_train_dataset, tf_train_labels = tf.train.batch([data, label], batch_size, num_threads=4) 

    # Rest of the model construction goes here.... 

:あなたのプログラムは、その後のようになります。評価のため—グラフの別のコピーを作成するのが最も簡単です(恐らく同じtf.Variableオブジェクトを共有しています)。

関連する問題