2016-08-01 13 views
0

テンソルフローでLSTMのコードを実装し、それぞれのバッチの長さが異なります。グラフにデータを供給するためには、可変長の入力リストが必要です。テンソルのループの可変範囲

私は下のループがテンソルフローの可変範囲を持つことを望みます。私は、グラフが作成されたときに開始時に特定の値に初期化することができますが、変更はできません。グローバルリストの長さを外部パラメータとして使用しようとしましたが、動作しませんでした。

答えて

1
self._train_data = [] 
for _ in range(variable_length): 
    placeholder_input = tf.placeholder(tf.float32, shape=[self._batch_size, self._input_size])  
    self._train_data.append(placeholder_input) 

TensorFlow seq2seq tutorialは、可変長の問題を説明し、それらに対処するためのコードを含みます。 tf.while_loopの前に書かれています。これにより、複数の長さをさらに良く扱うことができます。しかし、一般的なルールはまだ適用されますので、見てください!

+0

私はlstm cellのコードを作成しました。私はそれを使いたいと思います。それを拡張するために、可変配列サイズ/可変数のアンローリングを追加したいと思います。この場合、tf.while_loopはどのように使用できますか?私は質問に配置されたコードを実行して、特定の数のプレースホルダをリストに追加することができますが、このループの前にフィード処理が行われ、「リストインデックスが範囲外です」というエラーが発生します –