2017-02-06 2 views
2

私はTensorflowで分類子を扱っています。私の入力と出力は、列としての例と行としての例を持つ列挙型の配列です。私のコードは今まで正しく動作しており、入力と出力の配列を100%直接供給することでネットワークを鍛えることができました。 テンソルフローを供給するためにシャッフルされたバッチのリストを作成したいと思いますが、このステップはあまり明確ではありません。テンソルフロー辞書にフィードするためにnumpy配列からシャッフルされたバッチリストを作成する方法

以下はテンソル(マイバッチ)のリストを作成しますか?

input_batch,output_batch=tf.train.shuffle_batch([input,output],batch_size=100,capacity=50,min_after_dequeue=10,enqueue_many=True,allow_smaller_final_batch=True) 

それから私はtensorflowし、このバッチを養うためにしようとしています:

for epoch in range(0,2000): 
    sess.run(train_step,feed_dict={X:input_batch.eval(),Yreal:output_batch.eval()}) 

しかし、何もこの行の後に起こりません。

numpy配列からバッチを正しく準備し、それをテンソルフローの辞書に送ることはできますか?

答えて

0

私は最終的に、各エポックごとにランダムに異なるバッチを作成する方法を発見しました。他の人にとって役に立つかもしれないので私の解決策を掲載します。だからここにトリックです。

for epoch in range(0,2000): 
    permutation=np.random.permutation(input_size) 
    permutation=permutation[0:batch_size] 
    batch=[train_set[permutation],train_label[permutation]] 
    sess.run(train_step,feed_dict={X:batch[0],Yreal:batch[1]}) 

これは最もセクシーな方法ではありませんが、機能している可能性があります。私たちはバッチを抽出する各エポックでランダムなリスト(順列)を作成します。各バッチはテンソルフローに送られます。

関連する問題