tensorflow
のランクと形状のコンセプトについては混乱しています。私はhereから詳細を読んで、それらについて私のコンセプトをクリアするためにいくつかのコードを実行しました。しかし、私はまだ混乱しており、理解するのに助けが必要です。テンソルフローのランクと形状についての混乱
x = tf.placeholder(tf.float32, shape=[2, 12])
print(x.get_shape()) # ==> (2, 12)
print(x[0, :].get_shape()) # ==> (12,)
print(x[1, :].get_shape()) # ==> (12,)
print(x[2, :].get_shape()) # ==> (12,)
print(x[120, :].get_shape()) # ==> (12,)
私はx
が2
がnumber of rows
と12
がnumber of columns
ある2D行列のようなものであると思いました。なぜx[120, :]
の形が(12,)
となっているのですか?与えられた形でx[120, :]
がどのように可能ですか?
さらに、私はxが2Dテンソルであると考えていたので、次元とランクはテンソルの場合と同じです(私の理解によると)。しかし、私は実行すると:
print(x[0].get_shape())
が、私はこのエラーを取得しています:
Shape (2, 12) must have rank 1
それは私の理解がランクと次元について間違っていることを意味します。ランクとディメンションについて私は何が欠けていますか?ランクとディメンションは2つの異なるものですか?上記の例のランクはtensor x
とはどのようになっていますか?どのようにしてテンソルの階数を設定できますか?誰かが包括的な事例を詳細に説明できますか?
私は非常に感謝します。ありがとう!
'x [0]'はテンソルフローの最新バージョンで動作するはずです。テンソルフローを更新しようとします –