このページは Cloud Translation API によって翻訳されました。
Switch to English

tf.shape

TensorFlow 1バージョン GitHubでソースを表示する

テンソルの形状を返します。

ノートブックで使用

ガイドで使用チュートリアルで使用

tf.sizetf.rankも参照してください。

tf.shapeは、 inputの形状を表す1次元整数テンソルを返します。

例えば:

t = tf.constant([[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]]])
tf.shape(t)
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([2, 2, 3], dtype=int32)>
a = tf.keras.layers.Input((None, 10))
tf.shape(a)
<tf.Tensor ... shape=(3,) dtype=int32>

このような場合、 tf.Tensor.shapeを使用すると、より有益な結果が返されます。

a.shape
TensorShape([None, None, 10])

(最初のNoneはまだ不明なバッチサイズを表します。)

eagerモードでは、 tf.shapeTensor.shapeは同じでなければなりません。 tf.functioncompat.v1コンテキスト内では、実行時まですべての次元が既知であるとは限りません。したがって、グラフモードのカスタムレイヤーとモデルを定義する場合は、静的なtf.shape(x)よりも動的なtf.shape(x)x.shape

input TensorまたはSparseTensor
out_type (オプション)操作の指定された出力タイプ( int32またはint64 )。デフォルトはtf.int32です。
name 操作の名前(オプション)。

タイプout_type Tensor