質問: [tf.squeeze(t, [1]) for t in tf.split(1, step_num, p_input)] ```
回答: tf.squeezeはsizeが1の次元を削除し次元数を減らすAPIとなります。 第二引数を指定した場合は指定したindexの次元かつそこがsizeが1であるならば次元数を減らします。 ご提示の例の場合tは [batch_num, step_num, elem_num]のstep_num分split つまり[batch_num, 1, elem_num]の形となりますので。 上記tをtf.squeeze(t, [1])にかけるということは 「indexが1でそこが次元数1であるならばその次元を削除する。」となりますので [batch_num, elem_num]のshapeのTensorが出力される事になります。 第二引数を指定し、かつそこがsize 1でない場合はエラーが出るかと思います。 詳細は以下となります。